不安全的 JavaScript 尝试使用 URL 访问帧

2022-08-30 05:34:42

当我尝试从包含另一个域URL的iframe将哈希值设置为父URL时,我收到以下错误:

不安全的 JavaScript 尝试从 URL 为 “URL2” 的框架访问具有 URL “URL1” 的框架。域、协议和端口必须匹配。

如何解决此问题?


答案 1

从不同来源的子文档中,不允许访问顶部窗口的属性,但可以设置属性本身。location.hashlocation

这意味着,给定顶部窗口位置为 ,而不是执行http://example.com/page/

parent.location.hash = "#foobar";

您确实需要知道父母的位置并做

parent.location = "http://example.com/page/#foobar";

由于资源未导航,因此将按预期工作,仅更改 URL 的哈希部分。

如果您将其用于跨域通信,那么我建议您改用 easyXDM


答案 2

当两个帧具有不同的域时,跨帧脚本编写是不可能的 - >安全性。

请参阅:http://javascript.about.com/od/reference/a/frame3.htm

现在回答你的问题:没有解决方案或解决方法,你只需要检查你的网站设计,为什么必须有两个来自不同域的框架来改变另一个的网址。