DOM <object>上的DOMContentLoaded在Edge中不起作用

时间:2018-09-04 10:00:54

标签: javascript object domcontentloaded

要获取此类包含对象的DOMContentLoaded事件

<object class="emb" data="./probe-object.html" width="100" height="100" type="text/html">

可在Chrome和Firefox中使用以下代码运行,但不能使用Edge。

let includedObject = document.querySelector(".emb object");
includedObject.contentWindow.addEventListener('DOMContentLoaded', function() {
    includeObject();
});

如何在Edge中做类似的事情?

2 个答案:

答案 0 :(得分:0)

尝试像这样修改您的代码:

let includedObject = document.querySelector("object.emb");
includedObject.addEventListener('DOMContentLoaded', function() {
    includeObject();
});

检查控制台。我想您会发现有用的错误。

选择器不正确,所以我猜想它会生成未定义的contentWindow错误。此contentWindow用于iframe对象,并且您只有一个对象标记。

答案 1 :(得分:0)

如果

onDestroy()

替换为

   includedObject.contentWindow.addEventListener

它可以在Edge中工作,但不能在Edge和Firefox中工作。这似乎是一个Edge错误。