Flash 如何迁移SWFObject调用代码?
我有一段遗留代码,它使用旧版本的SWFObject.js将SWF嵌入到HTML中:Flash 如何迁移SWFObject调用代码?,flash,swfobject,Flash,Swfobject,我有一段遗留代码,它使用旧版本的SWFObject.js将SWF嵌入到HTML中: var so = new SWFObject("main.swf", "main", "100%", "615", "9.0.115", "#000000"); so.addVariable("deeplink", deeplink); so.addVariable("cid", cid); so.addParam("scaleMode", "noscale"); so.addParam("allowScript
var so = new SWFObject("main.swf", "main", "100%", "615", "9.0.115", "#000000");
so.addVariable("deeplink", deeplink);
so.addVariable("cid", cid);
so.addParam("scaleMode", "noscale");
so.addParam("allowScriptAccess", "always");
so.addParam("allowFullScreen", "true");
so.write("flashcontent");
我应该如何为最新的SWFObject.js重写它?我尝试过这个方法,但失败了,我想首先排除语法不匹配:
var mainSwfProperties = {
flashVars : {
cid : cid,
deeplink : deeplink
},
params : {
allowFullScreen : "true",
allowScriptAccess : "true",
scaleMode : "noscale",
wmode : "window"
},
attributes : {}
};
swfobject.embedSWF("main.swf", "flashcontent", "100%", 615, "9.0.115", null,
mainSwfProperties.flashVars,
mainSwfProperties.params,
mainSwfProperties.attributes
);
嗯,我当然认为这会奏效。基本上,flashvars、params和属性需要是js对象。我通常将它们作为单独的对象,而不是像您设置的那样拥有单个对象
<script type="text/javascript">
var flashvars = {cid:cid, deeplink:deeplink};
var params = {allowFullScreen:true, allowScriptAccess:true, scaleMode:"noscale", wmode:"window"};
var attributes = {}
swfobject.embedSWF("main.swf", "flashcontent", "100%", "615", "9.0.115", null, flashvars, params, attributes);
</script>
var flashvars={cid:cid,deeplink:deeplink};
var params={allowFullScreen:true,allowScriptAccess:true,scaleMode:“noscale”,wmode:“window”};
变量属性={}
swfobject.embeddeswf(“main.swf”、“flashcontent”、“100%””、“615”、“9.0.115”、null、flashvars、params、attributes);
同样从swfobject文档中,它期望宽度和高度为字符串,其中的高度为int