我正在使用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/