1

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

4

2 回答 2

0

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

于 2012-07-24T05:41:08.813 回答
0

mWebView.loadUrl("javascript:someFunction();"); 怎么样?? 和 ”;”

于 2013-08-01T09:53:36.263 回答