我在堆栈上找不到任何好的答案--它们与对话框、文本编辑器有关,还有一个人使用了VBScript。
我要给开窗器发个口信。这在FF、Chrome和Opera中都很好,但是在IE8-10中window.opener是空的。
我使用window.open使新窗口出现。
我甚至试过这个:
var new_window = window.open( url, '_social', "height=600,width=600" );
if ( !new_window.opener ) {
new_window.opener = window;
}打开的窗口只有一个脚本标记,如下所示:
<script type="text/javascript">
var data = {
type : 'redirect',
destination : '<?= $destination; ?>'
};
window.opener.postMessage( JSON.stringify( data ), '*' );
window.close();
</script>我打开控制台并记录window.opener,结果显示为null,所以我不认为它与DOM是否准备好有任何关系。
在使用脚本标记在页面上着陆之前,该窗口会重定向几次。
发布于 2013-09-04 22:19:32
实际上,这个问题可能与window.opener - because IE8+无关,只能使用postMessage与iframe通信。
http://blogs.msdn.com/b/ieinternals/archive/2009/09/16/bugs-in-ie8-support-for-html5-postmessage-sessionstorage-and-localstorage.aspx
发布于 2013-09-04 22:02:55
IE8不喜欢空间。为了使其发挥作用,将其移除:
var new_window = window.open(url,'_social',"height=600,width=600");
if (!new_window.opener) {
new_window.opener = window;
}https://stackoverflow.com/questions/18624351
复制相似问题