js操作iframe兼容各种主流浏览器示例代码_javascript技巧
程序员文章站
2022-05-22 08:35:57
...
在做项目时,遇到了操作iframe的相关问题。业务很简单,其实就是在操作iframe内部某个窗体时,调用父窗体的一个函数。于是就写了两个很简单的htm页面用来测试,使用网上流行的方法在谷歌浏览器中始终报错,不能通过。
父页面parent.html的代码如下
子页面child.html的代码如下
rrr
网络上流行的方法 var t=window.parent; t.ParentFunction();在IE中能调用,可是在谷歌浏览器中总是提示如下错误,
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
网上找了很长时间都没法发现方法,有的也是很早以前的版本,基本上没用了,而且人云亦云,基本上没有测试过。于是自己摸索,后来才发现,谷歌浏览器其实那种方法其实也可以,只是很奇怪,必须发布后才可以,在文件系统中调用,就会出现上边的错误。
其实还有一种html5的方法postMessage,于是就根据着进行了改写,最终代码如下:
父页面parent.html的代码如下
子页面child.html的代码如下
rrr
经过改写后,在文件系统中虽然也会出现那个错误,但需要调用的方法确实调用了,目的确实达到了,不影响使用了。
父页面parent.html的代码如下
复制代码 代码如下:
子页面child.html的代码如下
复制代码 代码如下:
rrr
网络上流行的方法 var t=window.parent; t.ParentFunction();在IE中能调用,可是在谷歌浏览器中总是提示如下错误,
Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
网上找了很长时间都没法发现方法,有的也是很早以前的版本,基本上没用了,而且人云亦云,基本上没有测试过。于是自己摸索,后来才发现,谷歌浏览器其实那种方法其实也可以,只是很奇怪,必须发布后才可以,在文件系统中调用,就会出现上边的错误。
其实还有一种html5的方法postMessage,于是就根据着进行了改写,最终代码如下:
父页面parent.html的代码如下
复制代码 代码如下:
子页面child.html的代码如下
复制代码 代码如下:
rrr
经过改写后,在文件系统中虽然也会出现那个错误,但需要调用的方法确实调用了,目的确实达到了,不影响使用了。
推荐阅读
-
js操作iframe兼容各种主流浏览器示例代码_javascript技巧
-
js操作输入框中选择内容兼容IE及其他主流浏览器_javascript技巧
-
JS网页播放声音实现代码兼容各种浏览器_javascript技巧
-
兼容主流浏览器的iframe自适应高度js脚本_javascript技巧
-
js代码实现的加入收藏效果并兼容主流浏览器_javascript技巧
-
js操作输入框中选择内容兼容IE及其他主流浏览器_javascript技巧
-
js操作iframe兼容各种主流浏览器示例代码_javascript技巧
-
js代码实现的加入收藏效果并兼容主流浏览器_javascript技巧
-
兼容主流浏览器的iframe自适应高度js脚本_javascript技巧
-
js复制网页内容并兼容各主流浏览器的代码_javascript技巧