2011-11-03 47 views
1

我得到这个错误 “Microsoft JScript运行错误:”SWFObject的未定义“JavaScript的不工作SWFObject的是未定义

我的代码看起来像这样

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> 
    <div id="flashcontent">This text is replaced by the Flash movie. </div> 
<script type="text/javascript"> 
    var rndPick = 2; 
    var rndPick = Math.floor(Math.random() * 16) + 1; 
    var movie = "/Flash/sam" + rndPick + ".swf"; 
    var so = new SWFObject(movie, "mymovie", "955", "170", "8", "#336699"); 
    so.write("flashcontent"); 
    setTimeout("location.reload(true);", 14500); 
</script> 

回答

4

你使用SWFObject 1.5语法,但链接到SWFObject 2.2 JS文件。 SWFObject 1.5和2.2不兼容。

重写您的SWFObject代码以使用2.2语法。这里是你的代码转换为SWFObject 2.2语法。请注意,当DOM完成加载时,swfobject.embedSWF会自动执行。

<head> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script> 

<script type="text/javascript"> 
var rndPick = Math.floor(Math.random() * 16) + 1; 
var movie = "/Flash/sam" + rndPick + ".swf"; 

var flashvars = {}; //empty for this example 
var params = { bgcolor: "#336699" }; //sets background color 
var attributes = { id: "mymovie" }; //sets ID of <object> to "mymovie" 

//Optional callback function gets executed after <object> is created 
var callbackFn = function(){ 
    setTimeout("location.reload(true);", 14500); 
}; 

swfobject.embedSWF(movie, "flashcontent", "955", "170", "8", false, flashvars, params, attributes, callbackFn); 

</script> 
</head> 

<body> 
    <div id="flashcontent">This text is replaced by the Flash movie. </div> 
</body> 
+0

谢谢,就是这样,我还没有看到任何关于SWFObject 1.5和2.2不兼容的话题。 – StephanM