2016-12-30 4 views
1

私はコードてきた ウィンドウが

IE11

で働いているnewWindow.addEventListener(真の「負荷」、コールバック、)のためにIEで「オブジェクトがプロパティまたはメソッドをサポートしていません」スロー新しいウィンドウを開き、loadイベントの新しいウィンドウにeventListenerを追加します。

var newWindow = window.open(someURL, ..., ...); 
newWindow.addEventListener('load', callback, true); 
// when IE11 executes this line, it throws error "object doesn't support property or method". 

問題の行にデバッガを開くと、newWindowオブジェクトにメソッドのリストにaddEventListenerメソッドがリストされます。

は、誰かが助言やIE11での動作のために考えられる理由を説明することができます。

いくつかの研究 - newWindowでは、親ウィンドウの要素でappendChildを使用できないという問題がありました。 appendChild not working with window.open in IE

は、同じようなことが問題になることはできますか?

+0

'newWindow.onloadは=機能(み){..};ここで' – d3vi4nt

+0

その他の言及:http://stackoverflow.com/questions/3030859/ – d3vi4nt

+0

ここ尖った:http://stackoverflow.com/questions/25098021/ – d3vi4nt

答えて

0

私は最近のプロジェクトでこの問題に遭遇しました。 IEが適切に新しいウィンドウを初期化するために少し時間が必要であり、新しいウィンドウオブジェクトがまだ開封後すぐにaddEventListener方法を持っていないように思えます。 IEだけがこれを行います。私は他のブラウザでこの動作を観察することができませんでした。私はまたnewWindow.onloadがかなり役に立たないことを確認することができます。ここで

は、私はその周りに働いていた方法です:

var newWindow = window.open(); 

// wait until addEventListener method is available to window 
var windowInitialized = false; 
while (windowInitialized === false) { 
    if (typeof newWindow.addEventListener === 'function') { 
     windowInitialized = true; 
    } 
} 

// from here on you can safely use newWindow.addEventListener 
関連する問題