在从资产目录加载的网页中未定义jquery

时间:2012-06-14 07:17:14

标签: javascript android jquery android-webview

我的应用程序附带了一堆html文件,并且是assets文件夹中的bundlet。

我将这样的页面加载到我的webview:

WebView webView = (WebView) findViewById(R.id.webview);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);

webView.setWebChromeClient(new WebChromeClient() {

     @Override
     public void onConsoleMessage(String message, int lineNumber, String sourceID) {
        Log.d("MyApplication", message + " -- From line " + lineNumber + " of " + sourceID);
     }
});
webView.loadUrl("file:///android_asset/_lib/jquery-1.6.1.min.js");
webView.loadUrl("file:///android_asset/" + page);

现在,如果页面包含:

<!-- jQuery library -->
<script type="text/javascript" src = "_lib/jquery-1.6.1.min.js"></script>
<script src = "_lib/jquery.easing-1.3.js"></script>

<!-- iosSlider plugin -->
<script src = "javascript/jquery.iosslider.js"></script>

我收到以下错误:

Uncaught ReferenceError: jQuery is not defined at file:///android_asset/javascript/jquery.iosslider.js:32

如果我从网络服务器加载同一页面,则javascript按预期工作。

1 个答案:

答案 0 :(得分:0)

问题似乎是lib文件夹前面的_。 执行jquery.iosslider.js文件没有问题。

我删除了文件夹名称和html文件中的_,现在一切正常。