我正在<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!";
    });
});
Python的http.server(或Python的SimpleHTTPServer)是从命令行提供当前目录内容的好方法:
python -m http.server
但是,就网络服务器而言,它非常低调......
它表现得好像是单线程的,并且在使用RequireJS加载JavaScript AMD模块时偶尔会导致超时错误.加载一个没有图像的简单页面可能需要五到十秒钟.
什么是更快的替代方案,同样方便?
我正在开发一个本地研究工具,要求我关闭Firefox的相同原始策略(在脚本访问方面,我并不真正关心跨域请求).
更具体地说,我希望主机域中的脚本能够访问页面中嵌入的任何iframe中的任意元素,而不管其域名是什么.
我知道之前的Q&As提到了CORS FF扩展,但这不是我需要的,因为它只允许CORS,但不允许脚本访问.
如果它不能轻易完成,我也很感激任何见解,指出我可以修改以禁用SOP的FF src代码的特定部分,以便我可以重新编译FF.
在Firefox中,我如何--disable-web-security在Chrome中完成相同的操作.这已经发布了很多,但从来没有一个真正的答案.大多数是附加组件的链接(其中一些在最新的Firefox中不起作用或根本不起作用)和"你只需要在服务器上启用支持".
同样,这仅用于在推送到prod之前进行测试,然后,这将是允许的域.
我想从iFrame中获取一个元素,然后单击它。获取元素成功。不幸的是,我无法在iframe中单击该元素。有人解决吗?
谢谢!
<script>
$(document).ready(function(){
var frame = $('#f314dbebb8'); //ID from the frame
console.log(frame);
});
</script>
javascript ×3
firefox ×2
iframe ×2
jquery ×2
security ×2
ajax ×1
click ×1
command-line ×1
cors ×1
cross-domain ×1
element ×1
httpserver ×1