DOMContentLoaded 不会在 IOS Safari 上触发

DOMContentLoaded does not fire on IOS Safari

首先:我是普通编码的新手。我刚开始 3 个月前。

我正在为朋友建立一个网站。它的导航栏应该 responsevely 改变它的 html 内容,在我测试的每台设备上都可以正常工作。但是当我尝试使用 DOMContentLoaded 设置我的 nav-ul 的 innerHtml 时,出现了错误,但仅在 IOS Safari 上。 不幸的是,我无法在我的 ios 野生动物园中使用任何浏览器开发工具。

这是我的app.js

document.addEventListener("DOMContentLoaded", function() {
const rect = document.querySelector(".main-container");
const screenWidth = rect.getBoundingClientRect().width;

if (screenWidth <= 800) {
    document.getElementById("navbar-list").innerHTML = `<li><a href="tel:xxxxx"><img src="./vector/phone1.png" alt="" class="icon"><p id="number">Anrufen</p></a></li><li><a href="whatsapp://send?text=Hallo! ich bin ein text der in einem whatsapp button programmiert ist auf peters website!&phone=xxxxx"><img src="./vector/icons8-whatsapp.svg" alt="" class="icon"><p>WhatsApp</p></a></li>`
} else {
    document.getElementById("navbar-list").innerHTML = `<li><a href="#home">Home</a></li><li><a href="#faecher">Fächer</a></li><li><a href="#konzept">Konzept</a></li><li><a href="#reviews">Ergebnisse</a></li><li><a href="#contact">Kontakt</a></li>`
}
});

我是否错过了一些等待的东西,因为我不得不提到一些异步的东西?

感谢您的帮助!

你能在回调中记录 document.readyState 吗?如果不是 loading,则表示事件在注册事件侦听器之前触发。

更多信息:https://developer.apple.com/forums/thread/651215