2つのウィンドウがあり、1つは別のウィンドウから開かれていますので、「子」ウィンドウにopener
プロパティがあります。IEのあるウィンドウから別のウィンドウに関数を渡すことができません
親ウィンドウにはグローバルスコープ内の関数がいくつかあります。関数は最初の引数としてコールされる必要があります(コールバックとして使用されます)。
どちらのページには、子ウィンドウでは、同じドメインから開かれ、そう、私は(私はそう願って)任意の同一生成元ポリシーの制限はありませんが...
されている私は、この
if(window.opener) {
window.opener.myFunction(function() { ... });
}
のようなコードを持っています
私はIEでそれを実行しようとするまで、すべてうまく動作します。このブラウザでは、myFunction
で受信された引数は、常にとタイプObject
である。 myFunction
のコードのようなものされています
window.myFunction = function(cb) {
alert('Callback type is ' + (typeof cb));
if(typeof cb == 'function')
cb();
else
alert('Not a function!');
}
ライブデモ:http://elifantiev.ru/ie-opener-issue/first.html
質問は次のようになります。これはstandarts準拠の動作
- のですか?
- この問題の回避策はありますか?
この問題が発生しているIEのバージョン(複数可)を指定してください。 –
IE7 +(IE 7,8,9) – Olegas