我正在使用 android 的WebView.loadUrl()
方法从 SD 卡加载 HTML 文件。此 html 文件包含 JavaScript 函数,例如someFunction()
.
由于某种原因,我仍然不明白,呼吁mWebView.loadUrl("javascript:someFunction()");
不要“触发”HTML文件中的函数。(我在 html 完成加载后调用它......)
当我从远程服务器加载到 Web 查看相同的 HTML 文件,并从 webView 启动相同的 javascript 调用时 - 它确实有效!所以我知道问题在于我从本地文件加载它,而不是我的 html 文件中的错误。
我知道需要启用 javascript:
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
它没有帮助!
我还注意到WebViewClient.onLoadResource()
回调也存在同样的问题。当文件是本地文件而不是来自远程服务器(或者准确地说是从 HTTP Web 服务器的 uri 访问)时,似乎我对 javascript 有一般问题。
有什么建议为什么会发生,以及我需要做些什么才能让它发挥作用?
TIA