1

Web サイトからのフィードを表示し、メイン ウィンドウに表示するガジェットを作成しました。ニュースの 1 つをクリックすると、フライアウト ウィンドウが表示され、詳細情報が表示されます。本体にも検索オプションがあり、サイトで検索を行いますが、ブラウザ ウィンドウで開きます。

私の質問は、フライアウト ウィンドウで検索機能を開くにはどうすればよいですか? 検索ボタンを flyout_2 ファイルにリンクする方法はありますか? 誰かが私を正しい方向に向けることができるかもしれません。

4

1 に答える 1

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 オブジェクト」を参照できます。

于 2009-11-02T09:00:03.647 に答える