1. 程式人生 > >Android WebView注入js檔案,判斷當前HTML有沒有某個js然後再注入

Android WebView注入js檔案,判斷當前HTML有沒有某個js然後再注入

Android WebView注入js檔案,判斷當前HTML有沒有某個js然後再注入

1.注入js程式碼

判斷當前有沒有jQuery檔案引入,然後再進行注入。
判斷依據其實很簡單,獲取script 的dom物件 判斷src的值 進行遍歷就行了。

(function () {

    function loadScript(url, callback) {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        if (script.readyState) {
            script.onreadystatechange = function () {
                if (script.readyState == 'loaded' || script.readyState == 'complete') {
                    script.onreadystatechange = null;
                    callback();
                }
            };
        } else {
            script.onload = function () {
                callback();
            };
        }
        script.src = url;
        document.getElementsByTagName('head')[0].appendChild(script);
    }

    var hasJquery = false;
    var array = document.getElementsByTagName('script');
    for (var i in array) {
        if (array[i].src && (array[i].src.indexOf('jquery.js') != -1 || array[i].src.indexOf('jquery.min.js') != -1)) {
            hasJquery = true;
        }
    }
    if (!hasJquery) {
        loadScript('one.jquery.min.js', function () {
        	console.log("jquery inject ok");
        });
    }
}());

2.Android 注入js程式碼方法

mWebView.loadUrl("javascript:" + jscode_string);