0

window.opener子ウィンドウから親ウィンドウに文字列値を渡すために使用しています-

function reply_click(clicked_id)
{
alert(clicked_id);

window.opener.document.write(clicked_id);
window.close ();
}

cliced_idは、私が返す文字列です。

ただし、これをメインページの非表示の入力に戻したいので、もう一度使用できるようにします。問題は、メイン ページのどこに文字列値を配置するかを指定できないことです。代わりに、元のコンテンツなしで新しいページに文字列値をロードするだけです。

文字列を返し、元の HTML コンテンツを保持することは可能ですか?

4

3 に答える 3

1

はい、元のページに id を持つ要素がある場合、次を使用してそれを参照してgetElementById設定できinnerHTMLます。

たとえば、ページに空の div がある場合:

<div id="myDiv"></div>

このコードを使用できます

function reply_click(clicked_id)
{
    alert(clicked_id);
    window.opener.document.getElementById("myDiv").innerHTML = clicked_id;
}
于 2012-08-09T12:58:42.323 に答える
1

こんにちは、sessionStorage/localStorage などの html5 ストレージ オブジェクトに値を保存しない理由については、Html5 Storage Docにアクセスして詳細を確認してください。これを使用すると、中間値を一時的/永続的にローカルに保存してから、セッションの値を保存するために値にアクセスできます

sessionStorage.getItem('label')
sessionStorage.setItem('value', 'label')

または値を永続的に保存する

localStorage.getItem('label')
localStorage.setItem('value', 'label')

したがって、html5 ストレージ オブジェクトを使用して、複数のページ間でフォーム データを (一時的に) 保存できます。

于 2012-08-09T12:59:09.050 に答える
1

Yes, window.opener is a complete window reference.

You could call window.opener.myCallback(clicked_id) or window.opener.clickedId = clicked_id

于 2012-08-09T12:58:25.693 に答える