我是靠谱客的博主 友好苗条,这篇文章主要介绍IE11中使用window.open()方法获取不到参数解决方法,现在分享给大家,希望可以做个参考。

在父页面中使用window.open()的方法打开
<pre class="javascript" name="code">   var selectUrl = USER_SELECT_URL + params.join("&");
  
  var windowName = "PersonSelect";
  
  var openWindow = window.open(selectUrl,windowName, "xxxx");
  
  openWindow.result = resultName;

子页面中获取父页面中的参数:

 
 
            if (window["result"] && window["result"] != "") {
            var allRecords = store.getRange(0, store.getCount());
            
            var data = [];
            for (var i = 0; i < allRecords.length; i++) {
                data.push(allRecords[i].data);
                historyArray.push(allRecords[i].data.type + ":" + allRecords[i].data.id);
            }
            
            var str = JSON.stringify(data);
            
            opener.window[result] = str;
 

使用代码之后发现很奇怪,IE8可以获取到window["result"] ,IE9没测试,Chrome也可以获取到,但是IE11永远报属性未定义,完全不能理解为什么。

window["result"] ,window.result  全都是未定义。然后返回值就更加取不到了。。。

最后改用了window.shoModalDialog()方法,就可以搞定了。

  var selectUrl = USER_SELECT_URL + params.join("&");
  var windowName = "PersonSelect";
  var openWindow = window.showModalDialog(selectUrl,windowName,"xxxx");

子页面中使用

		var str = JSON.stringify(returnValue);
		window.returnValue = str; // 作为父窗口window.showModalDialog的返回值
		window.close();
就妥妥的了,openWindow就是子页面的returnValue。







最后

以上就是友好苗条最近收集整理的关于IE11中使用window.open()方法获取不到参数解决方法的全部内容,更多相关IE11中使用window内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(136)

评论列表共有 0 条评论

立即
投稿
返回
顶部