2

同じドメインから自分のページのにページを読み込んiframeでいます。

でJavaScript駆動型のフォームを操作した後iframe、ドキュメント全体を引き継ぐようにします。iframeURLパラメータを渡してページの場所を希望の状態にする方法がないため、ページの場所をその場所に設定することはできません。

sから飛び出すために私が見つけることができるすべての参照は、飛び出しを制御するiframeページに関するものです。メインドキュメントのコンテキストにあるfromコードiframeをポップアウトしたいと思います。iframe

(私のプロジェクトは、実際には、サーバーが制御できないサードパーティのサイトと対話するGoogle Chromeユーザースクリプトです。)

私はjQueryを使用していますが、もちろんバニラJavaScriptでも問題ありません。

4

1 に答える 1

3

location.href = "..."フォームとJSの状態が失われるため、通常の方法()ではiframeから実際に「ポップアウト」することはできません。

同様に、次のようなコードを作成します。

document.head=frames[0].document.head;
document.body=frames[0].document.body;

動作しているように見えますが、JSの状態は保持されません。

フレームの内容を繰り返し処理し、構造と値を現在のページにコピーすることは可能かもしれませんが、これは私にはばか者の用事のようです。

フレームが引き継いだように見せることをお勧めします。あなたはこのようなコードでそれを行うことができます:

var usurpingFrame = $("YOUR FRAME SELECTOR");
usurpingFrame.css ( {
    position:   "fixed",
    top:        "0",
    left:       "0",
    "z-index":  "8888",
    margin:     "0",
    height:     "100%",
    border:     "none"
} );
usurpingFrame.width ($(window).width() );
$("*").not (usurpingFrame).not (usurpingFrame.parents() ).hide ();
于 2012-06-28T08:10:00.967 に答える