DOMContentLoaded на DOM <object>не работает в Edge - PullRequest
0 голосов
/ 04 сентября 2018

Чтобы получить событие 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 голосов
/ 10 сентября 2018

Если

   includedObject.contentWindow.addEventListener

заменяется на

   includedObject.contentDocument.addEventListener

это работает в Edge, но не в Edge и не в Firefox. Это похоже на ошибку Edge.

0 голосов
/ 04 сентября 2018

Попробуйте изменить ваш код следующим образом:

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

Проверьте вашу консоль. Я думаю, вы нашли полезную ошибку по этому поводу.

Селектор был неверным, поэтому, я думаю, он генерирует неопределенную ошибку contentWindow. Это contentWindow используется для объектов iframe, и у вас есть только тег объекта.

...