相关疑难解决方法(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万
查看次数

如何规避同源政策

同样的原产地政策

我想制作一个关于HTML/JS 同源政策的社区维基,希望能帮助任何人搜索这个主题.这是SO上搜索次数最多的主题之一,没有统一的wiki,所以我去:)

相同的源策略可防止从一个源加载的文档或脚本从另一个源获取或设置文档的属性.此政策可以追溯到Netscape Navigator 2.0.

您最喜欢采用同源政策的方式有哪些?

请保持示例详细,最好还链接您的来源.

javascript ajax same-origin-policy

150
推荐指数
6
解决办法
59万
查看次数

无法修改iframe的内容,有什么不对?

我试图修改iframe的内容,但它不起作用.

这是我的main.html

<html>
<head><title>Main page</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
</head>
<body>

<h3>Main page</h3>
<iframe src="ifr.htm" id="ifr" name="ifr"></iframe>
</body>

<script>
$(document).ready(function(){
    $('#ifr').load(function(){
        $('#ifr').contents().find('body').html('Hey, i`ve changed content of <body>!    Yay!!!');
    });
});

</script>
</html>
Run Code Online (Sandbox Code Playgroud)

这是我的ifr.htm

<html>
<head><title>Iframe page</title></head>
<body>
 Content to be displayed in iframe ...
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

html jquery

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

标签 统计

javascript ×2

jquery ×2

same-origin-policy ×2

ajax ×1

html ×1

iframe ×1