2014-01-18 69 views
0

我正在使用android的WebView,並且有一段代碼將背景變成橙色。將JS代碼注入WebView的問題

@Override 
       public void onPageFinished(WebView view, String url) { 
        wv.loadUrl("javascript:(function() { " + 
          document.body.style.background = 'orange'; 
        "})()"); 
       } 

當我想要加載的頁面時,背景是橙色的。

但是,當我試圖隱藏一個按鈕,是我瀏覽的網頁上..

@Override 
       public void onPageFinished(WebView view, String url) { 
        wv.loadUrl("javascript:(function() { " + 
        "var input = document.getElementById('submit');" + 
        "input.style.display= 'none';" + 
        "})()"); 
       } 

這是行不通的。

誰能告訴我我做錯了什麼?

回答

0

我認爲問題是,當頁面完成從網絡加載時調用onPageFinished,不一定與DOM準備好相同的時間。你在logcat中看到任何JavaScript錯誤嗎?

如果您在onload事件偵聽器中註冊JS函數,您可能會有更多的運氣。