-4

如何在 Java Script 或 jQuery 上检查加载 flash 对象 no edit flash。

Flash 插入到页面中(使用 lib.swfobjec.js):

<script type="text/javascript">
var flashvars = false;
var params = {
    salign: "b",
    wmode: "transparent",
    menu: "false"
};
var attributes = {
  id: "website",
  name: "website",
  styleclass: "myclass"
};

swfobject.embedSWF("gesmMainIndex.swf", "website", "800", "600", "9.0.0","expressInstall.swf", flashvars, params, attributes);
</script>
4

1 回答 1

1

这是@Amitd 所指的帖子......可能有帮助吗?

“定义一个 Javascript 函数,如果 Flash 加载,则应调用该函数。从 Flash 文件的顶部调用此方法。使用计时器来检测是否从未调用过回调。更喜欢从 Flash 调用 Javascript 函数而不是从 Javascript 调用 Flash 函数。无论哪种方式,您都无法调用尚未加载的函数。在从 Flash 调用它之前保证浏览器已经完成加载您的 Javascript 函数,比在从 Javascript 调用它之前保证 Flash 完成加载您的 Flash 函数要容易得多。这是一个例子:

我正在使用 swfobject 嵌入 Flash。我使用 FlashVars 来告诉 Flash 要调用哪个 Javascript 函数。如果页面上有多个 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);
}
于 2012-10-29T16:27:23.663 回答