iframe显示:无效

时间:2014-03-23 11:50:09

标签: jquery html css3

我的代码是:

<!DOCTYPE html>
<html>

  <body>
    <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <iframe src="http://www.amway.in/Shopping/Products.aspx?pid=101154IDK&ctg=Nutrilite">
    <p>Your browser does not support iframes.</p>
    </iframe>
  </body>

  <style>
    iframe::-webkit-scrollbar {  
      display: none;
    }
iframe {
  width: 600px;
  height: 800px;
}
  </style>

  <script>
$(window).bind("load", function() {
    $("iframe").contents().find(".left-nav").css("display","none");
});
  </script>

</html>

我想将css属性“display”更改为“none”,但在页面加载后显示错误。

  • 未捕获的SecurityError:无法从'HTMLIFrameElement'读取'contentDocument'属性:阻止具有原点“null”的帧访问具有原点“http://www.amway.in”的帧。请求访问的帧具有“文件”协议,被访问的帧具有“http”协议。协议必须匹配。

1 个答案:

答案 0 :(得分:2)

这是因为同源政策

  

同源策略限制从一个源加载的文档或脚本如何与来自另一个源的资源交互。   [...]

     

跨源脚本API访问

     

iframe.contentWindowwindow.parentwindow.openwindow.opener等JavaScript API允许文档直接相互引用。 当两个文档的来源不同时,这些参考文献提供对窗口和位置对象的有限访问权限。某些浏览器允许访问比规范允许的更多属性。您可以使用window.postMessage来在文档之间进行通信。

您可以阅读有关此主题的更多信息here