相关疑难解决方法(0)

SecurityError:阻止具有原点的帧访问跨源帧

我正在<iframe>我的HTML页面中加载一个并尝试使用Javascript访问其中的元素,但是当我尝试执行我的代码时,我收到以下错误:

SecurityError: Blocked a frame with origin "http://www.<domain>.com" from accessing a cross-origin frame.
Run Code Online (Sandbox Code Playgroud)

你能帮我找一个解决方案,以便我可以访问框架中的元素吗?

我正在使用此代码进行测试,但徒劳无功:

$(document).ready(function() {
    var iframeWindow = document.getElementById("my-iframe-id").contentWindow;

    iframeWindow.addEventListener("load", function() {
        var doc = iframe.contentDocument || iframe.contentWindow.document;
        var target = doc.getElementById("my-target-id");

        target.innerHTML = "Found it!";
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript iframe jquery same-origin-policy

487
推荐指数
4
解决办法
82万
查看次数

Safari中的Google Adsense,CORS和Rails会丢弃数千个控制台错误

我正在SSL网站上成功投放谷歌广告,并正确设置CORS标题(并且大开)rack-cors:

Rails.configuration.middleware.insert_before 0, Rack::Cors do
  allow do
    origins  '*'
    resource '*', headers: :any, methods: :any
  end
end
Run Code Online (Sandbox Code Playgroud)

我可以通过卷曲调用确认标题是否存在:

$ curl -I https://viewing.nyc -H "Origin: https://foobar.com"
...
Access-Control-Allow-Origin: https://foobar.com
Access-Control-Allow-Methods: GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS
Access-Control-Max-Age: 1728000
...
Run Code Online (Sandbox Code Playgroud)

如果您访问Chrome或Firefox,控制台中没有跨站点脚本错误,但在Safari上,有数千个错误.

Blocked a frame with origin "https://googleads.g.doubleclick.net" from accessing a frame with origin "https://viewing.nyc". Protocols, domains, and ports must match.
Run Code Online (Sandbox Code Playgroud)

实例

rack-cors到目前为止,我已经完成了问题页面,没有解决方案.为什么这只发生在Safari上,我该如何解决?

javascript ruby-on-rails adsense cross-domain cors

27
推荐指数
1
解决办法
1458
查看次数

Facebook:不安全的JavaScript问题(document.domain值应该相同)

我是一个基于画布的FB应用程序.面对Chrome和Firefox上的问题,(虽然通常是Chrome):

1.当我在新的隐身Chrome窗口(https://apps.facebook.com/myfbappnamespace/)上点击我的已批准的fb应用安全网址时,以下错误仅在第一次出现,当我刷新页面时出现错误走了(大部分时间)

页面大约:空白显示来自http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#cb=f2e4fe7b的不安全内容 ... os.com%2Ff4aeadb2&domain = www.mydomain.com&relation = parent&error =未知用户.

不安全的JavaScript尝试与URL访问框架 http://www.mydomain.com/control/myfacebookapp/从框架与URL http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#cb= f2e4fe7b ... os.com%2Ff4aeadb2&domain = www.mydomain.com&relation = parent&error = unknown_user.请求访问的框架将'document.domain'设置为'facebook.com',但正在访问的框架没有.两者都必须将'document.domain'设置为相同的值才能允许访问.
xd_arbiter.php:18

不安全的JavaScript尝试与URL访问框架 http://www.mydomain.com/control/myfacebookapp/从框架与URL http://static.ak.facebook.com/connect/xd_arbiter.php?version=18#cb= f2e4fe7b ... os.com%2Ff4aeadb2&domain = www.mydomain.com&relation = parent&error = unknown_user.请求访问的框架将'document.domain'设置为'facebook.com',但正在访问的框架没有.两者都必须将'document.domain'设置为相同的值才能允许访问.xd_arbiter.php:18

2.当我尝试http url(http://apps.facebook.com/myfbappnamespace/)时,控制台中显示的错误是:

不安全的JavaScript尝试与URL访问框架 http://apps.facebook.com/myfbappnamespace/从框架与URL https://s-static.ak.facebook.com/connect/xd_arbiter.php?version=18#channel= ... F控制%2Ffacebookappchannelurl%3Ffb_xd_fragment%23xd_sig%3Df23e84e85c%26.请求访问的帧具有"https"协议,被访问的帧具有"http"协议.协议必须匹配.

现在,当我登录到我的fb帐户以查看这些错误会发生什么时,它们会消失,有时只会消失.我知道我在查询中使用"大部分时间"和"有时",但这正是我发生的事情.我也搜索了论坛并意识到fb已经修复了这个本来应该是特定于chrome的问题.我确保我的FB.init和其他调用是location.protocol值特定的.还在canvas url(http)和安全canvas url(https)中配置了正确的值.还尝试了两种设置:帐户设置 - >安全 - >安全浏览 - >(已启用和已禁用)

如果我在某处丢失某些东西,有人可以帮忙吗?

javascript facebook google-chrome cross-domain

24
推荐指数
1
解决办法
5万
查看次数

阻止具有原点"http://static.ak.facebook.com"的框架访问具有原点的框架

突然开始给出这个错误:

通过原点"http://*****.com"访问具有原点" http://static.ak.facebook.com "的框架.请求访问的框架将"document.domain"设置为"facebook.com",但正在访问的框架没有.两者都必须将"document.domain"设置为相同的值才能允许访问.

javascript https facebook http

9
推荐指数
1
解决办法
3万
查看次数