在webView上无法登录

3

我有一个小问题... 我在我的应用程序中创建了一个小型的网页浏览器,问题是我无法登录像Evernote或Bitbucket这样的网站。当我提交表单时,我被重定向到表单页面,就像我刚刚刷新了表单而不是提交它。我已经在webview上启用了Javascript。

是否有人曾经遇到过这个问题? 谢谢!


也许登录需要 JavaScript 才能正常工作,你需要在 WebView 中启用 JS?只是猜测... - fweigl
你能提供更多的信息吗? - Raptor
我已经在WebSettings上启用了JavaScript :/ - Kyu_
2个回答

2

使用默认缓存模式:

mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);

2
我会为这个目的使用一个外部的网络浏览器,您可以通过意图从您的应用程序中打开它。 WebView只能处理简单的HTML网页,例如它不支持JavaScript。
摘自WebView类描述 http://developer.android.com/reference/android/webkit/WebView.html 基本用法
默认情况下,WebView不提供类似浏览器的小部件,不启用JavaScript,并忽略网页错误。如果您的目标仅是在UI的一部分中显示一些HTML,则这可能是可以接受的;用户不需要与网页进行交互,只需阅读即可,而网页也不需要与用户进行交互。如果您实际上需要一个完整的网络浏览器,那么您可能想使用URL意图调用Browser应用程序,而不是使用WebView显示它。

由于某些原因,我需要在我的应用程序中拥有一个网络浏览器,所以将用户重定向到另一个浏览器应用程序是愚蠢的,你不认为吗? - Kyu_
那只是一个建议。你尝试设置setWebChromeClient了吗?http://developer.android.com/reference/android/webkit/WebView.html#setWebChromeClient(android.webkit.WebChromeClient) 无论如何,支持复杂的网页将会很棘手,例如https://dev59.com/I2s05IYBdhLWcg3wNPW7。 - L. G.
没问题!是的,我正在使用WebChromeClient。我会阅读stackoverflow的帖子。 - Kyu_

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接