2

HTML ポップアップ ウィンドウがあり、仕様でウィンドウを開いた後にテキストを追加したい。関数:

var win = window.open('private.php', data.sender_id , 'width=300,height=400');                      
win.window.onload = function() {
         //function for add text
         //chrome and firefox fire, IE and Opera not
};

これは Chrome と Firefox で完全に動作しますが、Opera と IE9 では動作しません。IE と Opera でこれを行う最善の方法を教えてください。私は試してみます:

$(document).ready(function(){
   //function for add text
});

でも同じこと。

解決策を見つけましたが、setTimeoutよりも優れた解決策があるかどうかわかりませんか???

代わりに onload イベントを使用します:

setTimeout(function(){
 //add text
},200);
4

2 に答える 2

0

これを試すことができます(chrome、FF、IEでテストされていますが、operaについては知りません)

var win = window.open('private.php', data.sender_id , 'width=300,height=400');
win[win.addEventListener ? 'addEventListener' : 'attachEvent']((win.attachEvent ? 'on' : '') + 'load', myFunction, false);
function myFunction(){
    win.focus();
    win.document.write('loaded...');
}​

動作する場合は、 DOMContentLoadedイベントを試すこともできます。

デモ

于 2012-10-20T22:55:34.853 に答える
0

index.php

function callback() {
   // ...
   return xxx;
}

private.php

 $(document).read(function() {
     var text_to_insert = window.opener.callback();
 })
于 2012-10-20T22:40:03.340 に答える