javascript - 使用 JavaScript 和 swfobject 检查远程主机上是否存在隐藏的 swf

标签 javascript swfobject

我关注了这个tutorial检查远程服务器上是否存在 swf。这是我的代码:

var url = 'http://' + layer_path;
var flashvars = {};
var params = { scale: "exactFit", wmode: "transparent" , allowscriptaccess: "always" };
var attributes = {class:'flash' ,name: swf_id};
var callback = function(e){
    if (hidden) $('#'+conteiner_id).hide();
    window.setTimeout(function(){

        if (e.ref.PercentLoaded() == 0) {
            // File does not exists
        }
    },1000);
};
swfobject.embedSWF(url, swf_id, "100%", "100%", "9.0.0","expressInstall.swf", flashvars, params, attributes,callback);

swf 被插入到 swf_id 的 div 中,该 div 驻留在 id conteiner_id 的 div 中。

代码运行良好,除非 hide 参数设置为 true 并且父 div 被隐藏。然后,我收到以下错误消息:

Uncaught TypeError: Object #<HTMLObjectElement> has no method 'PercentLoaded' 

我怎样才能实现这个目标?

最佳答案

某些浏览器(如 Firefox)具有性能优化功能,可延迟加载不可见的 Flash 插件。除了确保它们至少部分可见之外,没有其他办法可以解决这个问题。

一种流行的解决方法是将它们的尺寸设置得非常小(只有几个像素)并确保它们在屏幕上,然后一旦它们加载,您就可以将它们移出屏幕或隐藏它们。

关于javascript - 使用 JavaScript 和 swfobject 检查远程主机上是否存在隐藏的 swf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19609247/

相关文章:

javascript - Angularjs 数据-ng- Controller

javascript - 如何计算距父级的 OffsetLeft 不包括父级左内边距和边框

javascript - 如何在不使用 "transform"的情况下旋转 div?

javascript - swfObject 嵌入对象在 ie11 中不起作用

javascript - Firefox 中的零星 "SetVariable is not a function"

javascript - 如何使用 javascript 或 java 获取当前 url 用户位于 .jsp 文件中

javascript - 使用javascript捕获溢出文本高度

javascript - 同一页面上的多个 Youtube 播放器打开停止事件?

swfobject - Uncaught ReferenceError : SWFObject is not defined

javascript - 在 IE 中获取 flash 播放器版本 (SWFObject v2.2)