我在WebView中注入了一些我无法控制的Javascript。我尝试使用MutationObserver但是在发生更改时它不会通知我。一切都有效,除了突变:
(function(){
if(typeof androidControlbarListener !== "undefined"){
var controlbar = document.getElementsByClassName(\"controlbar\")[0];
var displayStyle = window.getComputedStyle(controlbar).display;
if(displayStyle !== \'none\') {
androidControlbarListener.controlbarVisible();
var config = { attributes: true, childList: true, subtree: true, characterData: true };
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var currentValue = mutation.target.style.display;
//some processing here
androidControlbarListener.controlbarChanged();
});
});
observer.observe(controlbar, config);
}
return true;
} else {
return false;
}
})()
我使用@JavascriptInterface
进行回调和evaluateJavascript
方法。
我从未接到androidControlbarListener
的电话。