2014-11-21 198 views
0

我們有一個應用程序使用oauth表單,僅用於開發目的我想消除用戶名和密碼的輸入,所以我在頁面加載完成時添加了一些類似的代碼:使用loadUrl運行javascript加載不同頁面

mWebView.loadUrl("javascript:document.getElementById('UserName').value='" + txtUser.getText()+"'"); 

但由於某些原因,它不填寫表格它使一個新的頁面,只是寫出txtUser的值,而不是在輸入字段填的?爲什麼以及如何解決這個問題?

回答

2

如果你看一個工具水槍看它做一個匿名函數調用。所以我不熟悉javascript,但匿名調用似乎是瀏覽器在當前頁面正在進行調用時看到它的關鍵。因此,嘗試這種大致

mWebView.loadUrl("javascript:(function(){document.getElementById('UserName').value='" + txtUser.getText()+"';})()"); 
+0

感謝此工作 – arinte 2014-11-21 17:21:45

0

我遇到類似的問題,因爲我無法找到一個妥善的解決辦法,我用下面的技巧 -

  1. 取的HTML源文本。
  2. 替換</body>標籤與</body><script>YOUR JS CODE</script>
  3. webview.loadDataWithBaseURL(URL,editedString, 「text/html的」, 「UTF-8」,NULL);

對不起,哈克的解決方案,但如果你不能找到一個解決方案,這將有助於:)

+0

如果你可以,你可以反正雖然改變的代碼我上面選擇的答案,謝謝。 – arinte 2014-11-21 17:25:45