数码资讯
解决父页面和iframe页面的伪协议之间的通信问题
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
我们经常有父页面操作和iframe页面,如
这个iframe内容用js编写的。例如,下面的代码
VaR IFRAME = document.getelementbyid(iframe),
doc = iframe.contentwindow.document;
Doc.open();
doc.write(---------东西------ );
Doc.close();
上面的代码在大多数情况下是正确的。但是还有一种情况,父页面明确写document.domain =XXX;
在IE系列(IE10没有尝试)将没有权限错误。在Firefox、Chrome都是正确的。
为什么会这样这是一个bug,当父页面没有显式设置document.domain,iframe将默认的document.domain是父页面一致。
location.host,父子页面能够沟通,就是文章标题的例子,但当父页明确设定文档。域=
不允许有iframe.contentwindow.document,即事实上是没有办法写内容动态,,它也可以让iframe指向特定的页面。页面是显式设置的。
写的方式,但问题是,我的父页面中有很多这样的iframe,数目不详(都是广告位),所以它不能通过一个特定的页面。
这就是问题所在,在这种情况下,我们似乎没有办法做到这一点。
1。父页面设置,必须显式设置为document.domain
2.iframe页的内容需要通过js动态生成。
三.没有机会设置src iframe。
但当上述3个条件都满足时,就可以用伪协议解决这类问题。
复制代码代码如下所示:
iframe。src=Javascript:无效((((){ var a功能文档;D.开放();d.domain = 'xxx;d.write(' --- ');d.close()}));
In this way, you can explicitly set the iframe's document.domain to be consistent with the parent page.
当这是书面的,对于iframe内容动态写作的要求确实落实,但页面将单独演奏,喜欢window.open();
为什么会这样这也是IE系列,这是错误的,父页面,和内容的iFrame的伪协议写的会弹出一个新页面像window.open。
但父页面必须_self,所以基地的目标只能被设置为_self之前调用iframe.src。在内容编写,目标是将_blank基地。
这是解决这个问题的办法。
虽然伪协议可以解决这个问题,但也有一些风险,如果不能不可以,不要只使用这种方式。
这个iframe内容用js编写的。例如,下面的代码
VaR IFRAME = document.getelementbyid(iframe),
doc = iframe.contentwindow.document;
Doc.open();
doc.write(---------东西------ );
Doc.close();
上面的代码在大多数情况下是正确的。但是还有一种情况,父页面明确写document.domain =XXX;
在IE系列(IE10没有尝试)将没有权限错误。在Firefox、Chrome都是正确的。
为什么会这样这是一个bug,当父页面没有显式设置document.domain,iframe将默认的document.domain是父页面一致。
location.host,父子页面能够沟通,就是文章标题的例子,但当父页明确设定文档。域=
不允许有iframe.contentwindow.document,即事实上是没有办法写内容动态,,它也可以让iframe指向特定的页面。页面是显式设置的。
写的方式,但问题是,我的父页面中有很多这样的iframe,数目不详(都是广告位),所以它不能通过一个特定的页面。
这就是问题所在,在这种情况下,我们似乎没有办法做到这一点。
1。父页面设置,必须显式设置为document.domain
2.iframe页的内容需要通过js动态生成。
三.没有机会设置src iframe。
但当上述3个条件都满足时,就可以用伪协议解决这类问题。
复制代码代码如下所示:
iframe。src=Javascript:无效((((){ var a功能文档;D.开放();d.domain = 'xxx;d.write(' --- ');d.close()}));
In this way, you can explicitly set the iframe's document.domain to be consistent with the parent page.
当这是书面的,对于iframe内容动态写作的要求确实落实,但页面将单独演奏,喜欢window.open();
为什么会这样这也是IE系列,这是错误的,父页面,和内容的iFrame的伪协议写的会弹出一个新页面像window.open。
但父页面必须_self,所以基地的目标只能被设置为_self之前调用iframe.src。在内容编写,目标是将_blank基地。
这是解决这个问题的办法。
虽然伪协议可以解决这个问题,但也有一些风险,如果不能不可以,不要只使用这种方式。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。