Pergunta

Existe uma maneira limpa e concisa de colocar vários Swfobjects em uma página em HTML, tendo em mente que todos precisarão de flashvars diferentes?

Abaixo está apenas um:

<script type="text/javascript">
            var flashvars = {};
            var params = {};
            var attributes = {};
            swfobject.embedSWF("/swf/AllBookings.swf", "no-flash", "620", "365", "9.0.0", false, flashvars, params, "all_bookings");
</script>

Eu poderia copiar e colar isso algumas vezes e mudar os nomes, mas deve haver uma boa maneira.

Foi útil?

Solução

Coloque todos os parâmetros relevantes em uma matriz e itera sobre ela:

var swfs = [
    {
        url: '/swf/AllBookings.swf',
        id: 'no-flash',
        width: 620,
        height: 365,
        flashvars: {},
        params: {},
        attributes: {}
    },
    {
        url: '/foo.swf',
        id: 'bar',
        width: 620,
        height: 365,
        flashvars: {},
        params: {},
        attributes: {}
    }
];

for (var i = 0; i < swfs.length; i++) {
    var swf = swfs[i];
    swfobject.embedSWF(
        swf.url, swf.id, swf.width, swf.height, "9.0.0", false, 
        swf.flashvars, swf.params, swf.attributes
    );
};

Outras dicas

Você só precisa copiar e colar esta parte:

swfobject.embedSWF("/swf/AllBookings.swf", "no-flash", "620", "365", "9.0.0", false, flashvars, params, "all_bookings");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top