我有一个带有一些javascript的简单html页面,如果我点击链接,它将使用swfobject.embedSWF函数在div中显示flash视频。
我做了一个测试:
从我的机器上卸载了闪存,然后重新加载页面并点击了链接...我没有看到正确的视频。
然后我安装了flash并返回到同一页面(没有重新加载),嵌入仍然无法正常工作。
我知道在swfobject 1.5(我现在使用的是2.2),我可以在用户安装flash之后嵌入swf,但现在用户需要重新加载页面才能显示flash。这对我目前的情况不利,有谁知道这里发生了什么?
以下是使用YouTube视频的示例代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>SWFOBJECT TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js' type='text/javascript'></script>
<script src='http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js' type='text/javascript'></script>
<style>
#link{
display:block;
margin-bottom:10px;
}
#videoContainer{
width:610px;
height:360px;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
$("#link").click(function(){
var flashVars = {};
var params = {};
flashVars["lang"] = "en";
params["menu"] = "false";
params["wmode"] = "opaque";
params["allowScriptAccess"] = "always";
params["allowFullScreen"] = "true";
params["bgcolor"] = "#fff";
//add video
swfobject.embedSWF("http://www.youtube.com/v/uZ0LL1SJ-6U?enablejsapi=1&playerapiid=ytplayer", "videoContainer",640, 480, "9.0.0", null, flashVars, params,{});
});
});
</script>
</head>
<body>
<a href="#" id="link">Click me</a>
<div id="videoContainer"></div>
</body>
</html>
答案 0 :(得分:1)
如果你从jquery中取出你的swfEmbed调用,它就可以了。我没有真正钻研到远,但我这样做了:
<a href="javascript:replaceDiv()" id="link">Click me</a>
我创建了一个名为replaceDiv的新函数,它基本上只执行你在jquery点击函数中所做的一切。
function replaceDiv () {
var flashVars = {};
var params = {};
flashVars["lang"] = "en";
params["menu"] = "false";
params["wmode"] = "opaque";
params["allowScriptAccess"] = "always";
params["allowFullScreen"] = "true";
params["bgcolor"] = "#fff";
//add video
swfobject.embedSWF("http://www.youtube.com/v/uZ0LL1SJ-6U?enablejsapi=1&playerapiid=ytplayer", "videoContainer",640, 480, "9.0.0", null, flashVars, params,{})
}
然后我每次都删除了所有现有的JS和VOILA作品。
如果您希望我实际尝试调试您的JQuery,请告诉我;我可以补充说它看起来很好。你可能需要别的东西,我不知道。
-A
PS。 Squarepusher是一个野兽。 :P