デザインを制御できないページのコンテキストで機能する必要があるブックマークレットを書いています。使用フレーム(フレームセット)で機能するためにブックマークレットが必要なページがいくつかあります。jQuery-UIダイアログがフレーム内で機能することは可能ですか?
現在、フレームセットのあるページに遭遇すると、次のようなダイアログを作成します。
var frame = window.frames[0];
var div = $(frame.document.createElement("div"));
div.html("My popup contents");
div.dialog( ... );
その結果、jQueryはフレームのドキュメントではなくメインドキュメントにui-widgetdivを追加します。メインドキュメントは単なるフレームセットであるため、何も表示されません。jquery-ui APIに、ウィジェットを構築するドキュメントを指定するオプションが見つかりません。ブックマークレットは、外部ドキュメントのコンテキスト内から実行される(または少なくとも開始される)必要があります。
フレームの上にオーバーレイを表示できないことは承知しています。1つのフレームだけで表示できるので快適です。また、他のいくつかの注目すべきブックマークレットは、フレームセットのあるページでは機能しないため、これは一般的な問題である可能性があります。
提案?