1
window.open
var mywindow = window.open('<html page on same domain>');
そしてdocsに従って
if (mywindow.addEventListener) {
mywindow.addEventListener('load', function() {
console.log('load event fired');
}, false);
} else if (mywindow.attachEvent) {
mywindow.attachEvent('onload', function() {
console.log('load event fired');
});
}
も< IE9は、互換性のある次のコードは、(IE11およびIEエッジで試験)スローイベントをキャッチしていません。私はHTMLページthe old fashioned wayにカスタムイベントを投げる場合でも:
var event = document.createEvent('Event');
event.initEvent('customEvent', true, true);
window.dispatchEvent(event);
それがキャッチされないこと...またjQueryを使って、何の成功:
$(mywindow).on("customEvent", function() {
console.log('custom event fired');
});
ChromeとFirefoxのしかしは両方キャッチしませんイベントの種類...
これは仕様です。何か不足していますか?この仕事をするための方法はありますか?
あなたは何をしようとしていますか?可能な "解決策" /回避策としては、手動でポップアップにHTMLを記述する場合、イベントハンドラコードをそこに含めることができます。たとえば、... – CBroe
@CBroe HTMLページをテンプレートとして開こうとしています印刷のために。これはブートストラップリファレンスといくつかのプリントスタイリングがあるきれいなページです。私はそこに生成されたHTMLを印刷用に設定しようとします。 ChromeやFFではうまく動作しますが、IEでは動作しません。それから、私は事件が全く起こされなかったことを知りました。 –
そして、そのシナリオではどのような負荷イベントが必要ですか? (すべてのコンテンツがロードされた後に自動的に 'print'メソッドを呼び出すのであれば、ポップアップ内から行うだけです) – CBroe