【问题标题】:SWFobject inside iFrame: Cross domain stuff?iFrame 中的 SWFobject:跨域的东西?
【发布时间】:2012-05-27 15:41:35
【问题描述】:

我有一个带有嵌入式 Flash 文件的简单 html 站点,并在上面使用了 SWFobject。

此站点是 iframe 的 src。如果我打开带有 iframe 的网站,控制台会告诉我……

Unsafe JavaScript attempt to access frame with URL file:///experiment/iframe-
test/index.html from frame with URL http://localhost.lan/embed/GYZA. Domains,
protocols and ports must match. -> swfobject.js

我想知道父窗口(其中包含 iframe)与 iframe 内的 swfobjet 有什么关系?因此,如上所述,swfobject 用于将 flash 嵌入到加载到 iframe 中的子页面上。 iframe-test/index.html 网站刚刚……

<body>
    <iframe src="http://localhost.lan/embed/GYZA" width="100%" height="100%" frameborder="0" allowfullscreen></iframe>
</body>

……就在上面。而已。为什么我有unsafe javascript attempt here

对此有什么想法吗?提前谢谢你。

更新:好吧,我刚刚意识到这发生在 Youtube 和 Vimeo 以及它们的嵌入式播放器上。我使用的是 chrome 控制台,同样的错误发生在 Youtube 和 Vimeo。

【问题讨论】:

    标签: iframe flash embed swfobject


    【解决方案1】:

    现在不知道这是否有用,但是会抛出错误,因为浏览器将file:///experiment/iframe-test/index.htmlhttp://localhost.lan/embed/GYZA 视为两个不同的域,因此浏览器的跨域策略认为这是不安全的。根据用户使用的浏览器,这可能是不安全的 - 您正在加载的远程页面可能包含有害脚本,这些脚本可能会破坏您正在查看的当前页面或尝试窃取各种信息。您可以找到更多信息here

    【讨论】:

      【解决方案2】:

      我刚刚验证了马特的更新问题。

      每当 Flash 对象嵌入到跨域 iframe 中时,都会引发跨域异常。 Youtube 和 Vimeo 也是如此。

      例如,看看这个嵌入了 iFrame 的 jsfiddle:http://jsfiddle.net/bkCdB/

      <object width="420" height="315"><param name="movie" value="http://www.youtube.com/v/6V_DsL1x1uY?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6V_DsL1x1uY?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="420" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object>
      

      【讨论】:

        猜你喜欢
        • 2013-02-24
        • 2013-02-12
        • 1970-01-01
        • 2012-10-08
        • 1970-01-01
        • 2012-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多