Uncaught SecurityError:无法从'HTMLIFrameElement'读取'contentDocument'属性:阻止了一个框架

时间:2015-12-09 15:14:50

标签: javascript php html5

我想使用iframe将JavaScript链接添加到任何网站网址。 但它会像这样返回错误。

  

“Uncaught SecurityError:无法读取'contentDocument'属性   来自'HTMLIFrameElement':阻止了一个框架“

我用javascript尝试过。

    $('iframe').contents().find('head').append(created_script);
        created_script=document.createElement('script');
    created_script.src='http://tag-test-super-star.c9users.io/server/js/index.js';
    created_script.type='text/javascript';
    $('.iframe_tag').contents().find('head').append(created_script);

我认为将有解决方案与PHP。有没有?

3 个答案:

答案 0 :(得分:2)

Same Origin Policy阻止您触及其他域。 Heck网站甚至可以block you将您的网页粘贴在iframe中。

除非您要废弃内容,重写所有URL并将其输出到您的服务器上,否则PHP不会执行任何操作。这样做是一个很糟糕的想法,因为如果有人发现你正在这样做,他们可以在你的页面上添加一个脚本,为它做一些 awesome 的事情。

答案 1 :(得分:2)

这可以归结为几个因素,但一般来说这将是由于安全设置阻止您写入和退出iFrame。有许多设置可以阻止您在浏览器中显示此选项,如果您愿意,可以禁用此设置,但是如果这是您希望提供给其他页面访问者的功能,则可能涉及他们更改浏览器安全设置以实现,并且是非常糟糕的路线 - 我建议寻找替代解决方案。

更多信息:What you can and can't do with iFrames

答案 2 :(得分:1)

请不要使用iframe。 请使用html dom解析器代替iframe。