A.html:
<Form name = "Form1" Metode = "POST" ACTION = ""> <a href = "javascript: void (null)" onclick = "open ('b.html', '', 'dapat diproduksi ulang = 1, scrollbars = 1, status = tidak, toolbar = no, menu = tidak, lebar = 500, tinggi = 400, kiri = 400, = 400, = 400," NO, TOURBAR = NO, NO, NO, NO, NO, LODTH = 500, HEIT = 400, = 400, type = "text" name = "text1"> </form>B.html:
<script language="javascript" type="text/javascript">function returnValue(){window.opener.document.all.text1.value=document.getElementById("returnText").value;window.close();}</script> <input type="button" name="Submit" value="submit" onclick="returnValue();"> <input name = "returnText" type = "text" id = "returnText"> </p>Suplemen: penggunaan window.opener
Secara umum, penggunaan jendela. Opener hanya digunakan untuk menyelesaikan masalah bahwa jendela pop-up tidak diminta saat menutup jendela, tetapi pemahaman yang lebih dalam pada umumnya lebih sedikit. Faktanya, Window.Opener mengacu pada jendela yang memanggil metode Window.Open.
Ini terutama digunakan untuk menyelesaikan kiriman parsial dalam pekerjaan. Penyebaran halaman semacam ini sangat membantu untuk bekerja.
Jika Anda membuka halaman di jendela utama dan ingin jendela utama menyegarkan, gunakan ini, window.opener yang membuka halaman setara dengan
Jendela jendela utama.
Anda dapat menggunakan penyegaran jendela utama
window.opener.location.reload ();
Jika Anda menggunakan direktori virtual: seperti struts*.do, Anda akan meminta Anda untuk mencoba lagi
Anda dapat mengubahnya menjadi window.opener.yourformname.submit ()
Tidak apa -apa
2 amar
Ada situasi seperti itu dalam aplikasi,
Buka jendela B di jendela A, tutup jendela B setelah dioperasikan di jendela B, dan secara otomatis menyegarkan jendela a
function closeWin () {hasclosed = true; window.opener.location = "javascript: reloadpage ();"; window.close ();} function window.onbeforeunload () {if (! Hasclosed) {window.opener.location = "JavaScript: ReloadPage ();"; ";Kode di atas akan meminta kesalahan saat menutup jendela B, mengatakan bahwa objek tidak ada, dan kode yang benar adalah sebagai berikut:
function closeWin(){hasClosed = true;window.opener.location="javascript:reloadPage();";window.opener=null;window.close();}function window.onbeforeunload(){if(!hasClosed){//If the closeWin method has been executed, this method is not executed window.opener.location = "JavaScript: ReloadPage ();";}} </script> Metode reloadpage adalah sebagai berikut: function reloadpage () {history.go (0); document.execCommand ("refresh") document.location = document.location; document.location.road ();PS: Karena perlu untuk mendukung penutupan normal dan penutupan paksa jendela, variabel global telah digunakan.
==================================================================
Selain itu, masalah akan terjadi ketika menyegarkan jendela induk ketika jendela induk adalah bingkai:
Halaman tidak dapat disegarkan tanpa mengubah informasi.
Modifikasi berikut adalah sebagai berikut:
window.opener.parent.document.frames.item ('mainframe'). location.href = window.opener.location.href;
Tidak perlu menjalankan metode reload bawaan (). Berhati -hatilah untuk tidak menambahkan kalimat ini:
window.opener.parent.document.frames.item ('mainframe'). location.reload ();
================================================================= =================================================================
Akhirnya, untuk mendukung menyegarkan jendela induk normal dan jendela bingkai induk, kodenya adalah sebagai berikut:
function closewin () {hasclosed = true; <%if (null! = frame) {%> window.opener.parent.document.frames.item ('mainframe'). location.href = window.opener.location.href; <%} else {%> window.opener.location = lokasi = "JavaScript: ReloadPage ();"; <%}%> // window.opener.top.mainframe.location = "javascript: reloadpage ();"; // self.opener.frames.mainframe.location.reload (true); window.opener = null; window.frames.mainframe) window (true); window.opener = null; window.frames.close ();}} {windoad); window. {<%if (null! = frame) {%> window.opener.parent.document.frames.item ('mainframe'). location.href = window.opener.location.href; <%} else {%> window.opener.location = "javaScript: reloadPage (); <%}; <%}%}};Cara menggunakan window.opener
Window.Opener Mengembalikan referensi ke jendela yang membuat jendela saat ini, misalnya, mengklik tautan pada A.htm dan membuka B.htm. Kemudian kami berencana untuk memasukkan nilai pada B.htm dan kemudian menetapkannya ke kotak teks dengan "nama" ID di A.htm, dan kemudian tulis sebagai:
window.opener.document.getElementById ("name"). value = "input data";
Tidak ada pemahaman yang baik tentang window.opener di JavaScript.
Mengapa tidak dapat digunakan dalam bingkai? Jendela induk dari jendela pop-up tidak dapat berada di halaman tertentu di bingkai? Jadi, bagaimana Anda mengoperasikan jendela induk di bingkai melalui jendela pop-up?
opener.parent.frames ['frameName']. document.all.input1.value coba ini :)
Jika Anda ingin mengubah halaman dalam bingkai bingkai ke halaman lain di bawah bingkai atau halaman yang sama dalam bingkai induk, gunakan induk
window.opener mengacu pada halaman induk dari halaman yang dibuka oleh window.open.
Objek Window.frames dapat merujuk ke halaman di iframe atau halaman di frameset.
Bisa
window.frames [0] .document.getElementById ('xx');
Bisa
window.frames [0] .document.body.innerhtml;
frm = window.parent.window.frames ['unggahFame'];
FRMDocument = FRM.Document;
FRM.SB (3); // SB adalah fungsi di halaman UploadFrame
Untuk Firefox
Jika Anda menemukan kesalahan: parent.document.frames tidak memiliki properti
Ubah saja kode berikut. Kode ini kompatibel dengan IE dan FF. frm = window.parent.window.frames ['unggahFame']; Bahkan, koleksi frame tidak digantung di dokumen tetapi di objek jendela.
Perhatikan bahwa ada batasan untuk memodifikasi halaman dalam bingkai dengan cara ini, yaitu, itu harus dalam domain yang sama, jika tidak itu tidak akan dapat diakses.
Jika berada di bawah domain yang sama tetapi nama subdomain berbeda, maka tambahkan kalimat ke file JS dan HTML yang terlibat.
document.domain = xxx.com [Isi nama domain Anda di sini] document.geteLementById ('iframeid'). ContentWindow.document.getElementById ('someElementId');
bertanya:
Di jendela induk jendela.open () jendela anak. dan tentukan variabel i.
Masukkan nilai j di jendela dan window.opener.i = j;
Dengan cara ini bisa berlalu. Tapi saya menambahkan window.close () di ujung jendela anak dan tidak bisa memberikan nilainya.
Apakah ada cara untuk menyelesaikan masalah ini? Buat saya memberikan nilai sebelum menutup jendela anak.
Kodenya adalah sebagai berikut:
Jendela induk: Parent.jsp
<script> var i; window.open ('<%= contextPath%>/useranManage/newscontrol/cd.jsp); </script> <input type = "tombol" onClick = "waspada (i)">Sub-Window: CD.jsp
<script> function subm () {window.opener.i = 5; window.close ();} </script> <input type = "tombol" onclick = "subm ()">1 Jawaban
Anda dapat meletakkannya di jendela induk
<input id = "fromChild" type = "hidden" /> <input type = "tombol" ontClick = "waspada (document.geteLementById ('fromchild'). value)">Di jendela anak:
function subm () {window.opener.document.geteLementById ('fromchild'). value = 5; window.close ();}Ini oke
<Head> <script language = javaScript> function windowclose () {window.opener = null; window.close ();} </script> </head> <body> <input id = "button1" type = "tombol" value = "tombol" onclick = "windowclose ()"/> </body>Contoh sederhana di atas dari nilai pengembalian jendela pop-up JS adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.