Code Archive Skip to content Google About Google Privacy Terms
2007/12/19追記。onExceptionオプションを追加しました。例外発生時の処理も変更しています。 2007/12/03追記。Opera9.24に対応しました。 以前書いたように、IE7ではローカル環境でAjaxが使えません。今まで使えたのに・・・。 拙作theater.jsはprototype.jsを使用しているとはいえ、Ajax関連は未使用です。けど、readmeでwikiのソースをそのまま使うためにAjax.Requestを使ってました。これがIE7だとまったく読めなくなります。 で、隠しフレーム通信に再登場願います。昔、Ajaxのなかった頃、ユーザーの注文に対して一日悩んだ挙句自力でこの方法を編み出すも、直後に持っていた本に載ってるのが発覚して凹んだことはすでになつかしい話・・・。 Ajax.Requestからの移行を容易にするために、インターフェースを似せてみます。 <
いろいろハマリがちなJavaScriptでインラインフレームを扱う場合のメモ。 特に断らない限りブラウザのバージョンは以下が前提。 iframeのwindow,documentの取得方法はIEとMozilla系(NN,FireFox)で異なる。 IEはframes配列のwindow,documentプロパティから取得できる。Mozilla系はiframeエレメントのcontentWindow,contentDocumentプロパティから取得できる。 IEでもMozilla系と同じくiframeエレメントのプロパティから取得することもできるが、contentDocumentについてはIEには存在しないので、documentはcontentWindow.documentとしてcontentWindow経由で取得しなければならない。 (1) frames配列から取得する場合 frames['xx
A pop-up window that doesn't suck. Introduction GreyBox can be used to display websites, images and other content in a beautiful way. Why use GreyBox: It does not conflict with pop-up blockers It's only 22 KB! It's super easy to setup It's super easy to use You can easily alter the style as it is controlled through CSS Examples One website Launch google.com in a 500x500 center window Launch google
先日 Firebug Lite ブックマークレットを公開しましたが、動的生成した IFRAME に HTML を流し込むとブラウザが読み込み状態のままになってしまう(ロード中アニメーションなどが再生されっぱなしになる)という問題がありました。 IFRAME の動的生成はいろいろと応用範囲が広いので、なんとかこの問題は解決しておきたいところです。そこでいろいろと試行錯誤して、なんとか回避方法を見つけることができました。本日はそれをご紹介しようと思います。 さっそく種明かししてしまいましょう。実は答えはいとも簡単でした。 document.write で HTML を流し込む前後で document.open と document.close をきちんと呼ぶ必要があるようです。こんな感じですね。 var iframe = document.createElement('IFRAME'); do
SEの竹村です。 Lightboxという画像のサムネイルをクリックすると同じ画面上で拡大画像を表示できるJavaScriptのライブラリがあります。Lightboxについては、以下の公式ページのほかに、様々なブログに評価や応用例が掲載されているので検索してみてください。 Lightbox JS http://www.huddletogether.com/projects/lightbox/ 同じように、リンクをクリックすると同一画面上でBOXが開き、HTMLを表示するライブラリがあります。それが今回取り上げる LITBox です。 Ryan J Lowe’s Dev Blog ? Blog Archive ? LITBox http://www.ryanjlowe.com/?p=9# これは、URLを与えると非同期でデータを取ってきて、BOX内に表示するものです。 その他の基本的な使い方に
http://d.hatena.ne.jp/shinichitomita/20061025/1161776282 の続き。 結局dojoのXhrIframeProxyで参考にすべきところは、fragmentIdentifierを使ってフレーム間でメッセージのやり取りをしているところ。つまり、同梱の xip_server.html とxip_client.htmlが偉いのであって、そこにおいて dojo.* のパッケージが何かしてくれているというわけではない。 そのフレーム間やりとりのプロトコル実装はdojoのを流用して、その値を取り出してオブジェクトとして受け渡すところのスタブとなるオブジェクトはdojoに頼らずこっちで書いてしまってもよい。そうすればクライアントは別にdojoでなくてもつかえるはず。 ということで、非dojoバージョンのXhrIframeRequestを作ってみた。サーバ
これおもしろいな。 http://dojotoolkit.org/~jburke/XHRIFrameProxy.html XMLHttpRequestがドメインの壁を越えられないのは悲しい事実。すべてのブラウザで改善されるのを待つのはひどく気の長い話だし、そもそもそうなってるのにはそれなりの理由(セキュリティ関連)があったわけで、うまく要求が通るとも思えない。 そこで、既存の枠組みでクロスドメインの壁を越えられる動的スクリプトロードでのJSONコールみたいなテクニックが出てきてるわけだけど、データソースとなるサーバ側でデータをJSON形式で用意しなきゃいけなかったり、結局JavaScriptロードに頼るので信頼できないサイトからは気軽にデータを取って来れない(⇒任意のJavaScriptコードが実行されてしまう危険性がある)などの問題があった。 IframeProxyはこれを回避する。IF
こんな属性があるのを知らなかった。 実際には、Iframe の属性ではなさそうだが。 どうも、javascript で以下のように指定してあげる事により、 リッチなテキスト編集機能が有効になるようだ。 iframe.contentDocument.designMode = "on"; ちょっとサンプルを作ってみた。 選択範囲の色変えたり、画像貼付けたり出来ます。 http://gomibako.hahaue.com/rth.html (Firefox only) 実際に文字の状態を変化させたりしたい場合は、 同要素の execCommand メソッドを使用すればよい。 たとえば、文字を太字にしたい場合は、 以下のように指定するだけで良い。 iframe.contentDocument.execCommand("bold",false,null); 色を赤くしたければ、 iframe.con
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く