安卓的Webview无法处理JavaScript?

6

我的安卓应用程序显示网页(我使用了webview)。但是在webview中,网页上的javascript没有运行。如果我通过浏览器访问同样的网页,javascript就会运行。如何在应用程序中运行javascript(使用webview)?

3个回答

13

1
mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true);WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true);我尝试了这两种方法,但都没有成功。 - rimpo
它也支持mathjax-config吗?因为我的Webview客户端无法显示某些数学函数,我搜索了很多但都没有用。@Elenasys - Ajay Pandya

7
Android文档中得知:
默认情况下,WebView不提供浏览器类的小部件,不启用JavaScript并忽略网页错误。如果您的目标仅是将某些HTML显示为UI的一部分,则这可能是可以接受的;用户不需要与网页进行交互,只需阅读即可,而网页也不需要与用户进行交互。如果您实际上想要一个完整的网络浏览器,则可能希望使用URL意图调用浏览器应用程序而不是使用WebView展示它。
但是,您可以修改WebSettings,例如通过setJavaScriptEnabled()启用JavaScript。

1
这个答案对于提问者非常重要,仅仅因为某件事情“可以”做,并不意味着你应该去做它。 - Dimse

0

如果您想要简单的方法,可以使用WebChromeClient,在这个视频教程中查看。

如果您想要更多控制权,可以使用addJavascriptInterface方法,但是您必须为此方法创建自己的HTML页面。 请参考此示例


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