2013-09-01 61 views
4

我有一個webview和im加載外部HTML窗體的網站。我嘗試使用javascript函數更改背景顏色:Android - 用webview加載URL後我可以更改背景顏色

function changeBGC(color){ 
document.bgColor = color; 
} 

並且不起作用。但如果我加載本地然後即時更改背景顏色。是否有某種安全性阻止我改變一個我從外部加載到webview的網頁?

+0

你想T改變網頁視圖的背景顏色?如果是的話,那麼你也可以嘗試使用'setBackgroundcolor'。 –

回答

5

您可以使用WebViewClient,example here運行JavaScript。

changes the background color of a document的javascript代碼。

所以把它放在一起:

當INITING的WebView:

WebView webview = new WebView(); 
webview.setWebViewClient(new WebClient()); 
webView.getSettings().setJavaScriptEnabled(true); 
webview.loadUrl("stackoverflow.com"); 

你的Web視圖客戶端:

public class WebClient extends WebViewClient { 

    int color; 

    public WebClient(int color) { 
     this.color = color; 
    } 
    @Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) { 
     view.loadUrl(url); 
     return true; 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) 
    { 
     String command = "javascript:document.body.style.background = " + color + ";"; 
     view.loadUrl(command);  
    } 
} 
+0

感謝事實證明,這是我的JavaScript是問題,我改變了你的提供的鏈接。你可以upvote我的問題,我不知道爲什麼它被拒絕。 – j2emanue

+1

很高興解決。我把它提高了。我認爲它被拒絕了,因爲你還沒有在瀏覽器中嘗試過你的javascript代碼,並把它作爲Android發佈,而它有一個JavaScript問題。 –