这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<title></title>
<script>
$(document).ready(function(){
$("#video").html('<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/HPPj6viIBmU&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HPPj6viIBmU&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>');
});
</script>
</head>
<body>
<div id="video"></div>
</body>
</html>
它可以与Firefox和Chrome一起使用,但是IE6中的某些功能并不完全正确。可悲的是,项目要求之一就是要支持此浏览器,因此即使它在IE7中也可以使用,我也需要解决这个问题。
我知道有SWFObject,但我不希望使用它(我们已经在加载一堆JS文件,我们不想要更多)。
即使这样也行不通:
<script>
document.write('<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/HPPj6viIBmU&hl=en_US&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/HPPj6viIBmU&hl=en_US&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object>');
</script>
似乎IE6忽略了
<object>
标记,这是它嵌入的代码。<EMBED src=http://www.youtube.com/v/HPPj6viIBmU&hl=en_US&fs=1& width=480 height=385 type=application/x-shockwave-flash allowfullscreen="true" allowscriptaccess="always"></EMBED>
有解决方法吗?
谢谢。
最佳答案
您所寻找的解决方法将以编写swfobject的等效对象结束,除非它不会经过充分测试或性能良好。当有一个完美的现有解决方案时,尤其是在仅缩小10KB的情况下,为什么要重新发明轮子呢?如果您对不添加其他http请求感到困惑,为什么不将swfobject代码组合到页面或另一个js文件中。
除了嵌入swfobject之外,我从未使用过其他任何东西。