然而使用swfobject.js创建的却没有。我想应该是动态创建,然后加入页面文档,就不会有这些提示。但一番测试,无论是innerhtml写入,还是createelement创建的flash,仍然存在这些问题。并且为了做到和swfobject一样,我设置了flash元素的每个可选参数,但仍然一样。
既然完全和swfobject一样的方法创建flash,为什么我的会有这些东西呢? 我尝试删除swfobject.js里的部分代码,看看少了哪行之后,就会出现提示了。
删了一行又一行,最后意想不到的事发生了,swfobject.js只剩下了一行: el.outerhtml = "<object ....."
原来,无论用什么方法创建,只要创建它的js是在外部的文件,就不会出现这些提示。而之前我的代码始终写在一个页面里。真的很神奇!
最后,我总结了下,其实加入flash非常的简单,只需一行就够了(当然是在外部的js里):
dom.innerhtml = "<embed src=x.swf></embed>";
就能在所有浏览器里插入flash,需要固定尺寸的话只需加上width和height属性就可以。
这种方法可以满足大多数的flash,唯一的缺陷就是ie下的flash不能创建js回调接口:externalinterface.addcallback。解决方法就是在ie下用<object>代替<embed>。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
网友评论