在FireFox中呆了一个星期后,再次受到Chrome元素升级问题的困扰。
在交付给Chromium浏览器之前,忘记将代码包装在setTimeout中。
- FireFox打印:ABCD
- 铬打印:ADCD
- 苹果浏览器: ?
问题:FireFox是否可以像开发人员期望的那样运行?铬为什么错了?
<script>
customElements.define('my-element', class extends HTMLElement {
connectedCallback() {
console.log(this.innerHTML);// "A" in FireFox, "" in other Browsers
if (this.innerHTML == "A")
this.innerHTML = this.innerHTML + "B";
else
setTimeout(() => this.innerHTML = this.innerHTML + "D");
}
})
</script>
<my-element>A</my-element><my-element>C</my-element>
过去几年的相关答案: