2017-03-06 10 views
0

によるcanIuseサファリ9のサポートクロスドメインpostMessage私は別のドメインにメッセージを送信しようとすると、私は原点についての例外があります。サファリにクロスドメイン投稿メッセージを送信するにはどうすればよいですか?

私はこのようなコードを持っている:

var input = document.getElementsByTagName('input')[0]; 
// this line throw exception 
var win = document.getElementsByTagName('iframe')[0].contentWindow; 
a.onclick = function() { 
    var obj = {message: input.value}; 
    sysend.broadcast('foo', obj); 
    // proxy to send message to other domains using hidden iframe 
    win.postMessage(JSON.stringify({key: 'foo', data: obj}), "*"); 
}; 

このエラーはcontentWindow初めてアクセスするときのSafariのスロー例外は、それが2回目以降動作しているようですhttp://jcubic.pl/sysend.php

答えて

0

であることを示すページ:

var iframe = document.getElementsByTagName('iframe')[0]; 
var win; 
try { 
    win = iframe.contentWindow; 
} catch(e) { 
    win = iframe.contentWindow; 
} 
関連する問題