我在堆栈上找不到任何好的答案——它们与对话框、文本编辑器有关,还有一个人使用了 VBScript。
我需要向开窗器发布消息。这在 FF、Chrome 和 Opera 中运行良好,但window.opener
在 IE8-10 中为空。
我正在使用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
了它出现的空值,所以我认为这与 DOM 是否准备好没有任何关系。
该窗口在登陆带有脚本标签的页面之前会重定向几次。