这是我的代码:

<!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&amp;hl=en_US&amp;fs=1&amp; width=480 height=385 type=application/x-shockwave-flash allowfullscreen="true" allowscriptaccess="always"></EMBED>

有解决方法吗?

谢谢。

最佳答案

您所寻找的解决方法将以编写swfobject的等效对象结束,除非它不会经过充分测试或性能良好。当有一个完美的现有解决方案时,尤其是在仅缩小10KB的情况下,为什么要重新发明轮子呢?如果您对不添加其他http请求感到困惑,为什么不将swfobject代码组合到页面或另一个js文件中。

除了嵌入swfobject之外,我从未使用过其他任何东西。

10-07 14:00