WebView和MutationObserver无法正常工作

时间:2016-09-08 11:35:43

标签: javascript android webview

我在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的电话。

0 个答案:

没有答案