【问题标题】:WebView can't access my jquery scripts in assetsWebView 无法访问资产中的我的 jquery 脚本
【发布时间】:2026-01-13 03:30:01
【问题描述】:

我正在测试 jquery.mobile 脚本,并且能够使用 WebView 运行 HTML5 内容。

它似乎找不到我的 jquery 文件,但我已将它们相应地放在以下路径中:

项目 > 资产 > www > jquery

我的 html 文件所在的位置:

项目 > 资产 > www > index.html

我的 html 看起来像这样:

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="file:///android_asset/www/jquery/jquery.mobile-1.0.min.css" />
<script src="file:///android_asset/www/jquery/jquery-1.6.4.min.js"></script>
<script src="file:///android_asset/www/jquery/jquery.mobile-1.0.min.js"></script>

<style type="text/css">
#floatMe
{
    float: right;
}
</style>
<script type="text/javascript">
    $(document).ready(function() {
        $('#btnHello').click(function() {
            var name = $('#txtName').val();
            alert(name);
        });
    });
</script>
</head>
<body>
<div id="floatMe">
What's your name?
<input id="txtName" value="" />
<button id="btnHello">say hello</button>
</div>
</body>
</html>

错误一直提示我:

ReferenceError:找不到变量:jQuery at file:///android_asset/www/index.html ReferenceError:找不到变量:$ at file:///android_asset/www/index.html

【问题讨论】:

  • 粘贴页面加载代码。您是通过 URL 加载还是通过将 HTML 作为字符串提供给 WebView 加载?
  • webView.getSettings().setJavaScriptEnabled(true); webView.setWebChromeClient(new WebChromeClient()); webView.getSettings().setDomStorageEnabled(true); webView.loadUrl("file:///android_asset/www/index.html");

标签: android html jquery-mobile android-webview


【解决方案1】:

您是否尝试过使用相对于您的 HTML 页面的路径?

<script src="jquery/jquery-1.6.4.min.js"></script>

这就是您从 PhoneGap 项目中的页面引用脚本的方式,这应该是相似的,因为它也在 WebView 中运行。

【讨论】:

    最近更新 更多