SecurityError:阻止了具有原始位置的框架访问跨域框架

JavaScript

Jim古一

2020-03-12

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

SecurityError: Blocked a frame with origin "http://www.<domain>.com" from accessing a cross-origin frame.

您能否帮助我找到解决方案,以便我可以访问框架中的元素?

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

$(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!";
    });
});

第1112篇《SecurityError:阻止了具有原始位置的框架访问跨域框架》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
Harry逆天Eva 2020.03.12
  • 打开开始菜单
  • 键入Windows + R或打开“运行
  • 执行以下命令。

chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security

GilGilPro 2020.03.12

补充Marco Bonelli的回答:当前,在框架/ iframe之间进行交互的最佳方式是使用window.postMessage所有浏览器均支持

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android