我的产品会打开一个网页浏览器并将其指向包含本地Flash应用程序的HTML文件。我如何在程序中检测该文件是否成功加载,如果没有加载成功,又是什么异常?有没有一种使用JavaScript进行此操作的方法?
仅检查文件是否存在于磁盘上并不能保证其加载成功,因为其他错误也可能发生(可能涉及竞态条件)。
仅检查文件是否存在于磁盘上并不能保证其加载成功,因为其他错误也可能发生(可能涉及竞态条件)。
回答自己的问题:https://sourceforge.net/forum/message.php?msg_id=5929756
以下例子为示例:
Flash
var params:Object = LoaderInfo(this.root.loaderInfo).parameters;
if (ExternalInterface.available)
{
var onLoaded:String = params["onLoaded"];
if (onLoaded != null)
ExternalInterface.call(onLoaded, true);
}
Javascript
var flashLoaded = false;
var flashTimer;
function onFlashLoaded()
{
flashLoaded = true;
clearTimeout(flashTimer);
}
function onFlashTimeout()
{
if (!isFlashLoaded)
{
// Remove the Flash object in case it is partially loaded
$("#videoFeed").empty();
$("#videoFeed").append('<div id="flashObject"></div>');
alert("Failed to load video player");
}
clearTimeout(flashTimer);
}
function connectToVideo()
{
var flashvars = {};
flashvars.onLoaded = "onFlashLoaded";
var params = {};
params.menu = false;
var attributes = {};
isFlashLoaded = false;
flashTimer = setTimeout("onFlashTimeout()", 5000);
swfobject.embedSWF("flash/VideoFeed.swf", "flashObject", "800", "600", "11", "expressInstall.swf", flashvars, params, attributes);
}