将swf嵌入到html页面中

时间:2011-08-15 11:03:05

标签: javascript jquery html html5 flash

我找到了一些方法将swf嵌入到html页面......这是代码......

<object id="swfobj" style="display:none; margin-right: 385px;" classid="clsid:D27CDB6E-    AE6D-11cf-96B8-444553540000" 
    codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"
    width="309" height="200">
<param name="movie">
<param name="quality" value="high">
  <embed  style="margin-left: 18px;border:1px solid #999999;" quality="high" width="309" height="200" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>

然后在JavaScript部分我有这个

function openfile(filePath) {
        $("#swfobj > EMBED").attr("src", filePath);
        $("#swfobj").fadeIn("slow");
    };

现在我有两个问题

1.此代码适用于Firefox,但在Chrome中崩溃...仅当我点击第一个元素然后它停止工作时才有效...如何制作这个跨浏览器?

2.我想在浏览器的新标签页中打开swf ...我该怎么做?

1 个答案:

答案 0 :(得分:0)

在您的函数中添加:

my_window = window.open("myflash.html", "mywindow1", "status=1,width=309,height=200");
my_window.document.write($("#swfobj").html());

这将打开一个新窗口(myflash.html,您必须创建它),其中包含object的标识为#swfobj的html。

请注意,您必须在新窗口中显示#swfobj。所以添加

swfobj {
    display:block !important;
}
myflash.html中的

!important需要覆盖display:none的内联#swfobj

以上版本适用于firefox和chrome,但您必须启用弹出窗口。