繁体   English   中英

iframe 的问题

[英]Trouble with iframes

我正在为许多不同的随机网站动态生成 iframe,并且我倾向于在我的 javascript 控制台中收到此错误(不一定使用此 url):

Unsafe JavaScript attempt to access frame with URL http://localhost:3000/results/ from frame with URL http://www.apple.com/iphone/. Domains, protocols and ports must match.

为什么我会收到此错误? 有没有办法摆脱它?

所以我在 javascript 中与 iframe 交互的唯一两次是当我动态加载 iframe 时:

$("#results_div").html('<iframe src='+url+' frameborder="0" class="iframe"><p>Browser does not support iframes.</p></iframe>');

当我拉出 iframe 的src属性时:

var previewed = $("iframe").attr("src");

哪个导致错误?

iframe 中的脚本正在尝试访问父级的脚本/dom,并且它们位于不同的域中。 跨域脚本通常会生成该错误。

在您的情况下, apple.comlocalhost是不同的域,并且 iframe 中的某些内容正在尝试访问其父窗口的脚本或 dom 元素。

解决这个问题的几种方法:

这是因为您的脚本正试图访问另一个域上的某些代码。 这种行为可以通过阅读同源策略来理解。 http://en.wikipedia.org/wiki/Same_origin_policy

有一些变通方法和一些实现可以解决此问题。

其中一些正在使用代理方法,片段标识符方法。

在 HTML5 中,我们可以使用 postmessages 来解决这个问题。

但是你必须弄清楚什么对你有用。

除了将带有 .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM