如何检查<对象>是否加载失败

How can i Check if <object> failed to load?

本文关键字:对象 是否 加载 失败 何检查 检查      更新时间:2023-09-26

我有以下代码:

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,所以我不能使用它

谁能帮我?

如果对象标签加载失败,那么它将在标签之间呈现内部 HTML。例如

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

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

也许这会有所帮助:

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

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

我知道

这是一个旧帖子,但我自己也在尝试这样的事情。在对象标签中,您可以在其中执行其他操作。例如,我正在制作一个音乐网站,如果自定义播放器没有加载,我希望音频标签接管。

例:

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

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

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