最近搭建前台的时候大量使用了iframe标签, 发现iframe标签相对于各个浏览器的兼容性差异比较大, 首先是传值的问题
在子页面传值给父页面的时候可以使用
parent.window.skipOnloadfuck(fuckToUrl, path);
完成调用和传值
在父页面调用子页面的使用可以使用
$("#addPageSkip")[0].contentWindow.aa();
addPage.$("#addPageSkip").contentWindow.aa();
name.$(this).contentWindow.aa();
等方法都可以完成调用和传值,
但是父页面调用子页面的这种方法只适用于页面已经完全加载完成的情况下
在子页面还没有加载完成之前父页面不能够使用以上方法调用子页面的js
为了能够实现调用,我用setTimeout("systemTime()", 1000);对页面进行延迟加载
这种方法的确能够实现,但是一方面需要用户等待页面加载,另一方面考虑的用户的网速不一定稳定
所以考虑为iframe标签的name赋值,当iframe里面的子页面加载的时候调用window.name就可以读取到父页面传递的值
原来以为已经万事大吉, 但是后来在调试浏览器兼容性的问题时发现谷歌和360浏览器不能兼容从iframe标签的name取值.
最后只能妥协, 将要传的值放在cookie里面,子页面读取cookie的值.
时间: 2024-10-11 05:13:12