HTML swfobject flash嵌入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTML swfobject flash嵌入相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
	// <![CDATA[
     	so = new SWFObject("movie.swf", "mainFlash", "988", "500", "8", "#FFFFFF");
     	so.addParam("allowScriptAccess", "always");
     	so.write("flashReplace");
	// ]]>
</script>

iFrame 中的 SWFobject:跨域的东西?

【中文标题】iFrame 中的 SWFobject:跨域的东西?【英文标题】:SWFobject inside iFrame: Cross domain stuff? 【发布时间】: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"   frameborder="0" allowfullscreen></iframe>
</body>

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

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

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

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

<object  ><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"   allowscriptaccess="always" allowfullscreen="true"></embed></object>

【讨论】:

以上是关于HTML swfobject flash嵌入的主要内容,如果未能解决你的问题,请参考以下文章

在 html 中嵌入 flash 的最佳方法

无SWFObject的Flash正确嵌入

SWFObject Flash 增强插件

Firefox 3.5.3 Windows + Flash + swfobject wmode问题

如何使用 swfobject 通知 HTML 容器 SWF 已完成

iFrame 中的 SWFobject:跨域的东西?