JavaScript。检测何时从另一个js脚本加载html元素
我试图检测从第三方库加载的html元素,例如: 标题为“框”的div。应在不使用延迟的情况下检测JavaScript。检测何时从另一个js脚本加载html元素,javascript,Javascript,我试图检测从第三方库加载的html元素,例如: 标题为“框”的div。应在不使用延迟的情况下检测 function createBox() { var parser = new DOMParser(); var domString = '<div title="box" style="border:solid" class="container"><button>btn</button><span class="i
function createBox() {
var parser = new DOMParser();
var domString =
'<div title="box" style="border:solid" class="container"><button>btn</button><span class="intro">Hello</span> <span id="name"> World!</span></div>';
var html = parser.parseFromString(domString, "text/html");
document.body.append(html.body.firstChild);
}
setTimeout(function() {
// Do something after 2 seconds
createBox();
}, 2000);
let box = document.querySelector('[title="box"]');
if (box != null) {
console.log("box is detected");
}
函数createBox(){
var parser=新的DOMParser();
变量domString=
“btnHello世界!”;
var html=parser.parseFromString(domString,“text/html”);
document.body.append(html.body.firstChild);
}
setTimeout(函数(){
//2秒钟后做某事
createBox();
}, 2000);
let box=document.querySelector('[title=“box”]');
如果(框!=null){
console.log(“检测到框”);
}
如果您知道元素将被附加到何处,您可以将MutationObserver附加到父元素,当附加子元素时,父元素将运行回调:
函数createBox(){
var parser=新的DOMParser();
变量domString=
“btnHello世界!”;
var html=parser.parseFromString(domString,“text/html”);
document.body.append(html.body.firstChild);
}
console.log('start');
setTimeout(函数(){
//2秒钟后做某事
createBox();
}, 2000);
新的MutationObserver(()=>{
const-box=document.querySelector('[title=“box”]');
如果(方框){
console.log(“检测到框”);
}
})
.observe(document.body,{childList:true})代码>供参考,官方文档和浏览器兼容性:感谢您的回答