monthly gimite

試験運用中。

js

prototype.jsとChrome/Firefox組み込みのJSON.stringifyが衝突する

js

最近のChromeやFirefoxはJSONオブジェクトが標準付属してるっぽいのですが、それとprototype.jsが干渉してJSON.stringifyの挙動がおかしくなるようです。prototype.js 1.6.1をロードした状態で JSON.stringify({"a": ["b", "c"]}) とすると '{"a":"[\"b\", \…

HotRubyがC Rubyより速い本当の理由は?

JavaScriptが速くて、Rubyが遅い理由というエントリがあったのですが、コメントやトラックバック、追記などを読むと 実用上HotRubyがC Rubyより速いというわけではまったくない プリミティブ型の有無が原因という話はどうやら間違い のようです。とはいえ「↓…

HotRuby (Ruby VM on JavaScript) をいろいろいじってRPCとか実装してみた

HotRubyというJavaScript上で実装されたRuby VMを発見して、 これを使えばWebアプリのサーバ側もクライアント側もRubyで書く、とかできるのか つまりGoogle Web ToolkitのRuby版 そのためにはまずRPCかな ということでDRb風のRPCを実装してみました。その過…

Googleの検索結果に「英語のページのみを検索」を追加するGreaseMonkey

Googleで海外製のソフト名とかを検索すると、日本語のサイトばっかり出てきて、英語の公式サイトがなかなか出てこない、ということがたまにあります。そこで検索結果に「英語のページを検索」というラジオボタンを追加するGreaseMonkeyを書いてみました。単…

JavaScript Hijacking

なんかスラドにあがってたので何だそりゃと思って元ネタのPDFをナナメ読みしたんですが、要するに 最近のAjaxアプリの内部でよく使われるような、GETでJSONを返すようなAPIがあると、そのデータを(Cookieで保護されてる場合でさえ)よそのドメインに横取り…

GoogleAutoPagerが動かなくなってたのを修正

GoogleAutoPager(を自分が勝手に改造したやつ)が、GoogleのHTMLの変更の影響で、動かなくなってたので修正しました。GoogleAutoPagerというのは、Googleの検索結果を下の方までスクロールすると、自動で検索結果の続きが同じページに継ぎ足されるという、…

Cometを使ったWebチャット Lingr

最近LingrというWebチャットに出入りしてます。Ajaxなんですが、更にCometという技術を使っていて、専用のチャットソフトなみのレスポンスの速さです(15秒おきにリロードとかじゃない)。いろいろ部屋があって、誰でもすぐに入れて、新しい部屋も作れるので…

HTML Canvas - JavaScriptで図形描画

js

JavaScriptでどうやって図形を書くのかよく知らなかったので、調べてたんですが、canvasタグってのがあるんですね。最新のIE、Firefox、Opera、Safariでプラグインなしで動く(IE用にはExplorerCanvasを使用)ので、現状ではSVGより実用的っぽい。

Google Web Toolkit

なにやら凄そうなものがリリースされてますね。Javaで(Swing風の?)ライブラリを使ってGUIアプリを書くと、それをJava-to-JavaScript CompilerでAjaxアプリにしてくれるらしいです。これから試します。

StartForce

すごーい。Web上にデスクトップが。

JavaScript文字列リテラル中の""

js

ハマったこと。JavaScriptは文字列リテラル中でも""があるとそこでスクリプトが終わっちゃうんですね。だめな例: var hoge="hogehoge</script>";回避例: var hoge="hogehoge<\/script>";CGIでJavaScriptの文字列リテラルを動的生成するときは、引用符記号以外に"/"も*…

検索キーワードをハイライト表示&ジャンプ

SearchTermHighlighterというユーザJavaScriptがあって、サーチエンジンの検索結果からジャンプした先のページで、検索でヒットしたテキストを(Googleのキャッシュみたいに)ハイライト(強調表示)します。更に、ヒットしたテキストに順番にジャンプするこ…

Googleの検索結果の続きを自動表示

Google AutoPagerというユーザJavaScriptがあって、Googleの検索結果を下の方までスクロールすると、自動で検索結果の続きが同じページに継ぎ足されるようにできます。なかなか便利。 Operaに対応。 見た目を微妙に格好良く(したつもり)。 デフォルトでは…

ブラウザ上でWYSIWYG編集

で、こういうワープロソフトみたいな編集機能ってどういうカラクリなんだろ、と思って調べたところ、JavaScriptでIEだと document.body.contentEditable= true;Mozilla系だと document.designMode= "on";とすれば、そのページの内容をブラウザ上で編集できる…

prototype.js 1.4.0の配列への影響

prototype.js*1のトップにあるのは1.3.1なんですが、リポジトリを覗くと1.4.0が置いてあります。日本語での解説を見るとRubyのEnumerableみたいなのがあったりして便利そうなのはいいんですが、配列に対するfor文 for (v in [1, 2, 3]){ alert(v); }がまとも…