コンテンツスクリプトからYouTubeのすべての要素にアクセスしようとしています。DOMがロードされないようにするChrome拡張機能
manifest.jsonを
"content_scripts": [
{
"run_at": "document_end",
"matches": ["*://www.youtube.com/watch?v=*"],
"js": ["content/content.js"]
}
]
要素をログインしたときしかし、私は時々、ヌル取得し、時には要素が記録されます。
content.js
document.addEventListener('DOMContentLoaded', afterDOMLoaded)
function afterDOMLoaded() {
const element = document.getElementById('top')
console.log(element)
}
のsetTimeout
setTimeout(function(){
const element = document.getElementById('top')
console.log(element)
}, 3000)
を使用しているときには、私は要素は、ページのJavaScriptによって、後から動的に追加されているためであるとhereを読んで、そして作品これを解決する唯一の方法は、MutationObserver/mutation-summaryを使用することです。これは、要素にアクセスするだけの多くの面倒なようです。それ以外の方法はありませんか?
要素が 'setInterval'を使ってDOMに登場しているかどうかを調べることができますが、これは良いアプローチだとは思っていません。 –