如何检查<object>是否加载失败?</object>

时间:2012-06-28 11:10:03

标签: javascript html activex

我有以下代码:

document.getElementById("launcherDiv").innerHTML = 
"<object id='launcher' 
classid='CLSID:17E88883-3488-46B8-BE4D-30568888855' 
codebase='Helper.CAB#version=8,8,8,88'>
</object>";

假设下载/安装失败,
我怎么知道这个?取决于它,我不知道它应该花多少时间..

如果我要检查循环,我怎么知道何时结束?

以前我曾经在HTML中定义标签,等待安装完成或失败 但现在我需要延迟加载这个ActiveX,所以我不能使用这个

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:2)

如果无法加载object标记,那么它将在标记之间呈现内部HTML。例如

<object data="my/file/path.pdf">Object not supported</object>

如果对象失败,则它将显示内部文本,即&#34;对象不受支持&#34;

答案 1 :(得分:0)

也许这会有所帮助:

    var iv = setInterval(function () {
    if (document.all["launcher"].readyState == 4) {
    clearInterval(iv)
    alert("Object loaded")
    }
    }, 100);

它的作用是设置一个间隔,每隔100秒检查一次状态,如果对象加载了警报。

答案 2 :(得分:0)

我知道这是一个老帖子,但我正在尝试这样的事情。 在object标签中,您可以在其中执行其他操作。 例如,我正在创建一个音乐网站,如果自定义播放器没有加载,我希望音频标签能够接管。

示例:

<object>
    <load customplayer> <!--==If this fails do the next line ==-->
          <audio>
                load song
          </audio>
</object>

答案 3 :(得分:0)

成功加载嵌入内容的对象中的(第一个)锚点与成功加载的对象中的后备内容(第一个)锚点之间的唯一区别是元素的维度。因此,您所要做的就是确定您用于回退的元素的策略(这很可能是一个锚元素,尽管有些人可能仍然支持Flash作为后备内容),然后定位该元素并将其设置为height in例; 如果高度大于0,则对象元素未成功加载

var o = document.getElementsByTagName('object');
console.log(o[0].getElementsByTagName('a')[0].getBoundingClientRect().height);
相关问题