我正在使用android的WebView.loadUrl()方法从SD卡加载HTML文件。
此html文件包含JavaScript函数,例如someFunction()

由于某种原因,我仍然不明白,调用mWebView.loadUrl("javascript:someFunction()");不会“触发” HTML文件中的功能。 (我在html完成加载后称它为...)

当我从远程服务器将相同的HTML文件加载到网络视图并从webView启动相同的javascript调用时,它确实起作用了!
所以我知道问题出在我是从本地文件加载它的事实,而不是我的html文件中的错误。

我知道需要启用javascript:

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);


它没有帮助!

我也注意到WebViewClient.onLoadResource()回调存在相同的问题。当文件是本地文件,而不是从远程服务器(确切地说是从HTTP Web Server的uri访问)时,似乎我对javascript有一般性问题。

有什么建议为什么会发生,以及我需要做些什么才能使其起作用?

TIA

最佳答案

看来这是我的错误。即使html文件位于SD上,Java脚本功能也可以正常工作。那是我使用的特定功能根本无法像其他原因那样起作用。

关于javascript - 为什么WebView.loadUrl(“javascript:someFunction()”)无法与本地html文件一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11581335/

10-11 06:14
查看更多