gpt4 book ai didi

javascript - 按顺序加载 SWF,在计时器上或在完成后加载下一个。可能的?

转载 作者:行者123 更新时间:2023-11-29 22:41:44 28 4
gpt4 key购买 nike

我有一个加载大量 swfs* 的页面。我同时加载它们,顺序地减慢介绍动画。有没有办法顺序加载 swfs?或者如果不将它们加载到计时器上(我认为半秒就可以了)

*有很多不同的动态生成的 Flex 图表,所以不可能将它们全部放在一起。

var swfs = [
{ url: '/swf/AllBookings.swf', id: "all_bookings", width: 620, height: 365, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/AllBookingsByHospital.swf', id: "all_bookings_by_hospital", width: 380, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/AllBookingsByLanguage.swf', id: "all_bookings_by_language", width: 540, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAReason.swf', id: "dna_reason", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAInterpreterLanguage.swf', id: "dna_interpreter_language", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAPatientLanguage.swf', id: "dna_patient_language", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} }

];

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

最佳答案

如果您无法访问 .flas,请尝试以下几项操作

swfobject.embedSWF 将回调函数作为其最后一个参数,该函数在成功或失败时调用 docs .我不知道这是否仅在 swf 完全加载时调用,但如果是这种情况,您可以像这样使用它:

var swfs = [
{ url: '/swf/AllBookings.swf', id: "all_bookings", width: 620, height: 365, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/AllBookingsByHospital.swf', id: "all_bookings_by_hospital", width: 380, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/AllBookingsByLanguage.swf', id: "all_bookings_by_language", width: 540, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAReason.swf', id: "dna_reason", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAInterpreterLanguage.swf', id: "dna_interpreter_language", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAPatientLanguage.swf', id: "dna_patient_language", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} }
];

(function() {
var swf = swfs.shift();
if( !swf ) return;
swfobject.embedSWF(
swf.url,
swf.id,
swf.width,
swf.height,
"9.0.0",
false,
swf.flashvars,
swf.params,
swf.attributes,
arguments.callee //this function will be called again as a callback
);
})(); //calls itself automatically

如果这不起作用,并且您想延迟嵌入每个 swf,您可以做一些非常相似的事情

var swfs = [
{ url: '/swf/AllBookings.swf', id: "all_bookings", width: 620, height: 365, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/AllBookingsByHospital.swf', id: "all_bookings_by_hospital", width: 380, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/AllBookingsByLanguage.swf', id: "all_bookings_by_language", width: 540, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAReason.swf', id: "dna_reason", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAInterpreterLanguage.swf', id: "dna_interpreter_language", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} },
{ url: '/swf/DNAPatientLanguage.swf', id: "dna_patient_language", width: 300, height: 240, flashvars: {}, params: {}, attributes: {} }
];

(function() {
var swf = swfs.shift();
if( !swf ) return;
swfobject.embedSWF( swf.url, swf.id, swf.width, swf.height, "9.0.0", false, swf.flashvars, swf.params, swf.attributes );
setTimeout( arguments.callee, 2000 ); //calls this function again after 2 seconds
})();

关于javascript - 按顺序加载 SWF,在计时器上或在完成后加载下一个。可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2295756/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com