为什么WebView.loadUrl(“javascript:someFunction()”)不能与本地html文件一起使用?

时间:2012-07-20 14:25:55

标签: javascript android html android-webview

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

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

当我从远程服务器加载到网络视图相同的HTML文件时,从webView启动相同的javascript调用 - 它确实有效! 所以我知道这个问题与我从本地文件加载它的事实有关,而不是我的html文件中的错误。

我知道需要启用javascript:

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

它没有帮助!

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

为什么会发生这种情况的任何建议,以及我需要做些什么来使其发挥作用?

TIA

2 个答案:

答案 0 :(得分:0)

似乎这是我的错误。即使html文件在SD上,java脚本函数也能正常工作。我使用的特定功能根本没有像其他原因那样起作用。

答案 1 :(得分:0)

mWebView.loadUrl(“javascript:someFunction();”)怎么样; ? 用“;”