DOMDOM <object> 上的 ContentLoaded 在 Edge 中不起作用
DOMContentLoaded on DOM <object> doesn't work in Edge
像这样获取包含对象的 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 中做类似的事情?
尝试像这样修改您的代码:
let includedObject = document.querySelector("object.emb");
includedObject.addEventListener('DOMContentLoaded', function() {
includeObject();
});
检查你的控制台。我猜你会发现有用的错误。
选择器不正确,所以我猜它会生成未定义的内容窗口错误。此 contentWindow 用于 iframe 对象,而您只有一个对象标签。
如果
includedObject.contentWindow.addEventListener
替换为
includedObject.contentDocument.addEventListener
它适用于 Edge,但不适用于 Edge 和 Firefox。这似乎是一个 Edge 错误。
像这样获取包含对象的 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 中做类似的事情?
尝试像这样修改您的代码:
let includedObject = document.querySelector("object.emb");
includedObject.addEventListener('DOMContentLoaded', function() {
includeObject();
});
检查你的控制台。我猜你会发现有用的错误。
选择器不正确,所以我猜它会生成未定义的内容窗口错误。此 contentWindow 用于 iframe 对象,而您只有一个对象标签。
如果
includedObject.contentWindow.addEventListener
替换为
includedObject.contentDocument.addEventListener
它适用于 Edge,但不适用于 Edge 和 Firefox。这似乎是一个 Edge 错误。