在跨域iframe内容

时间:2015-09-23 08:39:46

标签: javascript html iframe cross-domain

我的问题是: 我有一些带有下拉菜单的标签,每个标签都有一个iframe: MY TABS

当用户点击下拉菜单时,我需要在iframe内容上运行一些js,然后我认为正确的做法是在我的html页面中使用这个js:

    var scriptTag = "<script>alert("blabla");<"; // saving script to run
    scriptTag += "/script>"; //add this for fixing the script tag problem
    $("#myframeid").contents().find("head").append(scriptTag); //appending the script on the head of iframe

但是当我运行它时,控制台会报告如下:

  

Uncaught SecurityError:无法阅读&#39; contentDocument&#39;属性   来自&#39; HTMLIFrameElement&#39;:使用原点阻止了一个框架   &#34; http://localhost:8080&#34;从访问原始框架   &#34; http://www.otherdomainsite.com&#34 ;.协议,域和端口必须匹配。

显然,如果它在不同的域上运行,那么我现在必须做什么?难道我做错了什么?

我听说过postMessage ecc ..方法,但我从未使用它们。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

不允许您对外部域IFRAME执行代码。

唯一的方法是为每个消息传递方向提供代理iFrame。

ternarylabs