Как перенести код вызова SWFObject? - PullRequest
0 голосов
/ 24 июня 2010

У меня есть этот устаревший код, который встраивает SWF в HTML, используя старую версию SWFObject.js:

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
); 

Ответы [ 2 ]

1 голос
/ 25 июня 2010

Ну, я бы, конечно, подумал, что это сработает.По сути, 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>
0 голосов
/ 04 января 2013

Кроме того, из документов swfobject он ожидает, что ширина и высота будут строками, у вас есть высота как int.

...