我正在尝试在Android应用程序的webview中加载本地HTML文件。 HTML文件引用jquerymobile.js
的本地副本。我的问题
是在启动应用程序时,抛出以下错误:
TypeError 'undefined' is not an object (evaluating $ event)
即使没有使用jquery lib
编写任何代码,也会发生这种情况。当我从CDN
加载jquery库时,不会发生此错误。
关于我做错了什么的任何想法? 谢谢你的时间。
添加了更清晰的代码:
这是WebView
加载url
try {
//this reads the jquerymobile as a string
jmobile = readFileAsString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
wview1.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result) {
//Required functionality here
return super.onJsAlert(view, url, message, result);
}
});
wview1.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(wview1, url);
wview1.loadUrl("javascript:"+jmobile);
// do your stuff here
}
});
wview1.loadUrl("file:///android_asset/html/index.html");
以下作品
<!DOCTYPE html>
<html>
<head>
<title>My Page</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css" />
<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>
但如果我将脚本src更改为jquery.mobile-1.1.1.min.js的本地副本,则会出现类型错误
答案 0 :(得分:2)
引用本地文件时,请按以下顺序放置这些引用:
希望它有所帮助。
答案 1 :(得分:0)
我理解您的问题如下: 你有一个本地的HTML文件和JS文件。现在你需要加载HTML和JS.But失败。
您能告诉我如何加载HTML文件并将jquerymobile.js注入其中。
我通常这样做:
WebView.setWebViewClient(new myWebViewClient ());
clsss myWebViewClient extend WebViewClient{
@Override
OnPageFinished(View view, String Url){
view.loadUrl("javascript:"+String in jquerymobile.js);
}
}
WebView.loadUrl("test.html");
这对你有帮助吗?