Web サイトからのフィードを表示し、メイン ウィンドウに表示するガジェットを作成しました。ニュースの 1 つをクリックすると、フライアウト ウィンドウが表示され、詳細情報が表示されます。本体にも検索オプションがあり、サイトで検索を行いますが、ブラウザ ウィンドウで開きます。
私の質問は、フライアウト ウィンドウで検索機能を開くにはどうすればよいですか? 検索ボタンを flyout_2 ファイルにリンクする方法はありますか? 誰かが私を正しい方向に向けることができるかもしれません。
Web サイトからのフィードを表示し、メイン ウィンドウに表示するガジェットを作成しました。ニュースの 1 つをクリックすると、フライアウト ウィンドウが表示され、詳細情報が表示されます。本体にも検索オプションがあり、サイトで検索を行いますが、ブラウザ ウィンドウで開きます。
私の質問は、フライアウト ウィンドウで検索機能を開くにはどうすればよいですか? 検索ボタンを flyout_2 ファイルにリンクする方法はありますか? 誰かが私を正しい方向に向けることができるかもしれません。
フライアウト ウィンドウは手動で開く必要があります。
インターフェース全体がスープです。また、フライアウトは有効な HTML ページを指している必要があります (ローカルかリモートかは関係ありません)。ただし、いったん読み込まれると、DOM を好きなように扱うことができます。
そうは言っても、「検索」イベントをキャプチャして、フライアウト DOM に表示します。これには、フライアウト自体のリダイレクト、動的に設定されたターゲットを持つ iframe、またはその他の DOM 操作が含まれる可能性があります。
私が使用したトリックの 1 つは、「一般的な」フライアウトを使用することです。これは、親ウィンドウのメソッドをパラメーターとして渡すだけで (フライアウトは単なる子ウィンドウです)、「メイン」ガジェットが実際に DOM 作業ベースを処理できるようにします。文脈上。
// in "fuout.html"
jQuery(function ($j) {
var parent = System.Gadget.document
parent.loadFuout(document, $j)
})
// in main gadget html
document.loadFuout = function (fuout, _j) {
// other stuff based on current flyout context...
// fuout is document object of flyout
}
注:私の場合、ドキュメントがクロージャーにバインドされている、わずかに変更された jQuery を実行します。これにより、_j を介してアクセスされる上記の「ドキュメントの正しい jQuery オブジェクト」を参照できます。