我正在使用Android WebView加載一些網頁。就我而言,我必須在加載網頁之前插入一些JavaScript代碼。如下所示:如何在加載新請求之前完全重置Android webview
//enable javascript
mWebView.getSettings().setJavaScriptEnabled(true);
//inject my js first.
//I can't inject the js onPageStarted() or onPageFinished() because I need to make sure the js
//is injected before html loaded.
mWebView.loadUrl("javascript:MyJsCode");
//load HTML
mWebView.loadUrl("http://example.com/demos/index.html");
該代碼首次運行正常,但運行一次後失敗。因爲HTML找不到我的JS。
我想因爲之前的HTML並不完全清晰,所以mWebView.loadUrl("javascript:MyJsCode")
注入MyJsCode到以前的HTML而不是新的HTML。
所以我想如果我可以完全重置WebView(to clear the previous HTML)
,將解決我的問題。我試過WebView.ClearView(), loadUrl("about:blank")
,它們都不起作用。
任何建議?
只是一個問題..你在Android 4.1上運行它嗎? –
在Android 2.3和4.1上重現。 –
我不是2.3,但是我遇到了Android 4.1的一個bug。無論何時在WebView上執行Javascript,Webview都會拒絕執行任何操作,直到應用程序重新啓動爲止。這在2.3.3或4.0.3上沒有發生,所以也許你的問題是不同的。 –