Javascript MutationObserver会检测通过外部样式表加载的更改吗?
我已经将mutationObserver添加到由类名标识的div中。下面给出了代码片段Javascript MutationObserver会检测通过外部样式表加载的更改吗?,javascript,android-webview,mutation-observers,external-js,Javascript,Android Webview,Mutation Observers,External Js,我已经将mutationObserver添加到由类名标识的div中。下面给出了代码片段 var target = document.getElemenstsByClassName('uniqueClassName')[0]; var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; var observer = new Mutat
var target = document.getElemenstsByClassName('uniqueClassName')[0];
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
var observer = new MutationObserver(function(mutation){
console.log('mutation happened');});
var config = {attributes:true};
observer.observe(target,config);
HTML页面有一个外部样式表,其中保存了我们的目标div的一些样式,如下所述
.uniqueClassName{
height: 468px;
width: 549px;
margin-top: 0px;
margin-left: 0px;
position: absolute;
z-index: 0;
background-image: url("../images/page007.jpg");
background-size: cover;
}
我们需要在加载内容后获取图像的URL。但是突变观察者内部的语句没有被调用(目前是一个日志)
HTML代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="../css/font.css"/>
<link rel="stylesheet" type="text/css" href="../css/page004005.css"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=549, height=468"/>
<title>page004005</title>
</head>
<body>
<div class="page">
<div class="page">
<div class="uniqueClassName">
<article class="page_7_block_0">
</article>
</div>
</div>
</div>
</body>
</html>
第004005页
由于您尚未发布html div代码,因此很难确定问题的确切原因。但是,请尝试将characterData:true
添加到配置中。您的config
没有子树:true
,因此它只报告节点本身的HTML属性。无论如何,CSS是不相关的,不能由MutationObserver处理,除非根据您使用的配置在style=“…”
HTML属性中指定。@Agalo我已经添加了HTML代码。请看一看。@wOxxOm是否有其他方法可以识别外部js加载何时完成?这取决于该文件的加载方式。这个问题有很多答案,你可以通过谷歌搜索或类似的网站轻松找到。