js模式化窗口问题![window.dialogArguments]
(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )
前些天做项目时遇到了个浏览器兼容问题,解决后记录一下,也将模式化的资料放上!
详细问题描述:
在火狐浏览器中弹出一个子窗口,子页面中是一个分页,点下一页后子页面会刷新,然后window.dialogArguments对象就丢失了,alert输出显示undefined [解决方法见第三项]
最近做网站的时候需要用到模式化窗口功能,也遇到了一些问题,所以查了查资料以解决
1.弹出窗口几种方法:
a.window.open(pageURL,name,parameters);
b.window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框(IE 4+支持)
c.window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框(IE 5+支持)
2.显示样式问题:所用到的是window.showModalDialog(),此方法弹出的窗口在IE6下显示比IE7 ,IE8 下高度要小点,所以你可以写个js 解决这点(IE6下高度需要+35PX左右, dialogLeft 属性可以根据屏幕宽度设置)
代码片段如下:
var swidth=window.screen.width; if(parseInt(width)>swidth) swidth=100; else swidth=(swidth-parseInt(width))/2; varwindowStatus="dialogWidth:"+width+"px;dialogHeight:"+height+"px;dialogTop:80px;dialogLeft:"+swidth+"px;center:1;status:no;scroll:no;resizable:no;help:no;"; //弹出方法 if(url.indexOf("")<0){window.showModalDialog(url+'"test.aspx");
test.aspx 页面内容<frameset cols="0,*"> <frame src="/UploadFiles/2021-04-02/">页面返回方法变成
function returnValue(flag) { var myObj = window.parent.dialogArguments; myObj.value = flag; window.parent.close(); }这样就可以拿到返回的值了
b. 如果不想多弄出来个页面,可以用下面的方法,此方法可以用到了window.opener.document 对象,此对象IE7,IE8貌似都不支持(本人测试过,不知道在你机器上咋样),判断下是什么浏览器,然后给父页面的隐藏域赋值,然后父页面再处理;
代码如下:function returnValue(flag) { document.getElementById("rValue").value=flag; if (window.ActiveXObject) //IE浏览器 { var myObj = window.dialogArguments; //alert(myObj); myObj.value = flag; window.close(); } else{ window.opener.document.getElementById("hid_oilid").value=flag; window.opener.document.getElementById("txt_oil").value=flag+"号"; //self.close(); window.close(); } }基本所遇到问题均已经解决,关于父页面与子页面传值可以多参阅其他资料
下一篇:Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?