A.html:
<form name = "form1" method = "post" action = "" "> <a href =" javascript:void(null) "onclick =" open( 'b.html'、 ''、 'resizable = 1、scrollbars = 1、status = no、toolbar = no、no、menu = ne、width = 500、height = 400、let = 150、top = 150、top = 150、top = 150、</adit name = "text1"> </form>
b.html:
<スクリプト言語= "javascript" type = "text/javascript"> function returnValue(){window.opener.document.all.text1.value = document.getElementbyId( "returntext")。value; windos.close();} </script> <input = "button" name type = "text" id = "returnText"> </p>サプリメント:window.openerの使用
一般に、window.openerの使用は、ウィンドウを閉じるときにポップアップウィンドウが促されないという問題を解決するためにのみ使用されますが、それのより深い理解は一般的に少なくなります。実際、window.openerは、window.openメソッドを呼び出すウィンドウを指します。
主に仕事の部分的な提出を解決するために使用されます。この種のページスプレッドは、仕事に非常に役立ちます。
メインウィンドウでページを開き、メインウィンドウを更新したい場合は、これを使用して、ページを開くwindow.openerは同等です
メインウィンドウのウィンドウ。
メインウィンドウの更新を使用できます
window.opener.location.reload();
仮想ディレクトリを使用する場合:struts*.doなど、再試行するように求められます
window.opener.yourformname.submitに変更できます。
それはいいです
2>
アプリケーションにはそのような状況があります、
ウィンドウbを開くウィンドウb、ウィンドウBで操作した後、ウィンドウbを閉じ、ウィンドウを自動的に更新します
function closewin(){hasclosed = true; window.opener.location = "javascript:reloadpage();"; window.close();} function window.onbeforeunload(){if(!hasclosed){window.opener.location = "javascript:reloadpage();"; ";";}} </script>上記のコードは、ウィンドウBを閉じるときにエラーを促し、オブジェクトが欠落していると言って、正しいコードが次のとおりです。
function closewin(){hasclosed = true; window.opener.location = "javascript:reloadpage();"; window.opener = null; window.close();} function window.onbeunload(){if(hasclosed){// window.opener.location = "javascript:reloadpage();";}} </script> reloadpageメソッドは次のとおりです。function reloadpage(){history.go(0); document.execcommand( "reffelocation")document.location = document.location; document.location.location.reload();};}PS:通常の閉鎖と強制閉鎖をサポートする必要があるため、グローバル変数が使用されています。
================================================================================
さらに、親ウィンドウがフレームであるときに親ウィンドウを更新するときに問題が発生します。
情報を復活させずにページを更新することはできません。
次の変更は次のとおりです。
window.opener.parent.document.frames.item( 'mainframe')。location.href = window.opener.location.href;
組み込みのreload()メソッドを実行する必要はありません。この文を追加しないように注意してください:
window.opener.parent.document.frames.item( 'mainframe')。location.reload();
=============================================================================== ===============================================================================
最後に、通常の親のウィンドウとフレームの親の両方のウィンドウの両方を更新することをサポートするために、コードは次のとおりです。
関数closewin(){hasclosed = true; <%if(null!= frame){%> window.opener.parent.document.frames.item( 'mainframe')。 "javascript:reloadpage();"; <%}%> // window.opener.top.mainframe.location = "javascript:reloadpage();"; "; // self.opener.frames.mainframe.location.reload(true); window.opener = null; windose (!hasclosed){<%if(null!= frame){%> window.opener.parent.document.frames.item( 'mainframe')。location.href = windo.opener.location.href; <%} null;}}window.openerの使用方法
window.openerは、現在のウィンドウを作成するウィンドウへの参照を返します。たとえば、a.htmでリンクをクリックしてB.htmを開きます。次に、b.htmに値を入力してから、a.htmにid "name"を持つテキストボックスに割り当ててから、次のように書き込みます。
window.opener.document.getelementbyid( "name")。value = "入力データ";
JavaScriptのwindow.openerについてのよく理解はありません。
なぜフレームで使用できないのですか?ポップアップウィンドウの親ウィンドウは、フレーム内の特定のページに載ることができませんか?では、ポップアップウィンドウを介してフレーム内の親ウィンドウをどのように操作しますか?
Opener.Parent.Frames ['framename']。document.all.input1.valueこれを試してください:)
フレームフレーム内のページを同じフレームまたは親フレームのページの下の他のページに変更する場合は、親を使用します
window.openerは、window.openで開かれたページの親ページを指します。
window.framesオブジェクトは、iframeのページまたはフレームセットのページを参照できます。
できる
window.frames [0] .document.getelementbyid( 'xx');
できる
window.frames [0] .document.body.innerhtml;
frm = window.parent.window.frames ['uploadframe'];
frmdocument = frm.document;
frm.sb(3); // SBはアップロードフレームページの関数です
Firefoxの場合
エラーが発生した場合:parent.document.framesにはプロパティがありません
次のコードに変更するだけです。このコードは、IEおよびFFと互換性があります。 frm = window.parent.window.frames ['uploadframe'];実際、フレームコレクションはドキュメントではなく、ウィンドウオブジェクトに掛けられています。
この方法でフレーム内のページを変更することには制限があることに注意してください。つまり、同じドメインにある必要があります。そうしないと、アクセスできません。
同じドメインの下にあるが、サブドメイン名が異なる場合は、関係するJSおよびHTMLファイルに文を追加します。
document.domain = xxx.com [ドメイン名をこちらに記入してください] document.getElementById( 'iframeid')。contentwindow.document.getelementbyid( 'someelementid');
聞く:
親のウィンドウウィンドウで、オープン()チャイルドウィンドウ。変数iを定義します。
子ウィンドウとwindow.opener.i = jに値jを入力します。
このようにして渡すことができます。しかし、私は子のウィンドウの終わりにwindow.close()を追加しましたが、値を渡すことができませんでした。
この問題を解決する方法はありますか?チャイルドウィンドウを閉じる前に値を渡させてください。
コードは次のとおりです。
親ウィンドウ:parent.jsp
<script> var i; window.open( '<%= contextpath%>/usermanage/newscontrol/cd.jsp); </script> <入力タイプ= "ボタン" onclick = "alert(i)">
サブウィンドウ:cd.jsp
<script> function subm(){window.opener.i = 5; window.close();} </script> <入力型= "ボタン" onclick = "subm()">1つの答え
親ウィンドウにそれを置くことができます
<入力id = "fromChild" type = " /> <input type =" button "onclick =" alert(document.getElementById( 'fromChild')。value) ">
チャイルドウィンドウで:
function subm(){window.opener.document.getelementbyid( 'fromchild')。value = 5; windos.close();}これは大丈夫です
<head> <スクリプト言語= javascript> function windowclose(){window.opener = null; window.close();} </script> </head> <body> <入力id = "button1" button = "button" value = "onclick =" windowclose() "/> </body>JSポップアップウィンドウの返品値の上記の簡単な例は、私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。