如何在Android的WebView中使用本地的jQuery

本文详细介绍如何在Android项目中集成jQuery库,包括下载jQuery文件、放置于assets文件夹、通过Java代码使WebView支持JavaScript,以及加载jQuery到WebView的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几天遇到一个需要显示epub文件格式的项目,或许有人会知道epub文件解析出来的是html。
跑题了,我回来。

如何在Android中的jquery文件呢,首先,你需要先有一个jquery.js文件对吧,下载网址在这里https://jquery.com/download/,下载好jQuery文件后把文件复制粘贴到你的Android 项目的assets文件夹下

如果没有的话可以自己新建一个assets文件夹,我呢就习惯把js文件放在js文件夹里,所以我新建了一个js文件夹。

然后就是java代码层面的东西了,首先你要获取webview并且允许他使用js吧

            //获取webview对象,并设置好允许使用js
            mWebView= (WebView) findViewById(R.id.webView);
            WebSettings webSetting = mWebView.getSettings();
            webSetting.setJavaScriptEnabled(true);

然后就是准备html代码

 
            //这是我自己找的一些纯html代码,里面就一个<body>标签
            String strHtml1 = StringUtils.bytes2Hex(data);
            strHtml1 = "<body><div id=\"flipbook\">" + strHtml1 + "</div></body>";

后面这里就比较关键了,你需要给webview设置webViewClient,并重写里面的onPageFinished方法

            mWebView.setWebViewClient(new WebViewClient() {
                @Override
                public void onPageFinished(WebView view, String url) {
                    super.onPageFinished(view, url);
                    
                    //获取上边assets文件夹里的jquery文件夹的字节流,并转为String形式
                    String jsStr = "";
                    try {
                        InputStream in = getAssets().open("js/jquery-3.3.1.min.js");
                        byte buff[] = new byte[1024];
                        ByteArrayOutputStream fromFile = new ByteArrayOutputStream();
                        do {
                            int numRead = in.read(buff);
                            if (numRead <= 0) {
                                break;
                            }
                            fromFile.write(buff, 0, numRead);
                        } while (true);
                        jsStr = fromFile.toString();
                        in.close();
                        fromFile.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                    
                    //将上边获取到的js代码串加入到webView中
                    mWebView.loadUrl("javascript:" + jsStr);
                    
                    //测试代码
                    mWebView.loadUrl("javascript:" + "$(document).ready(function(){\n" +
                            " alert(\"Hii!!!!\");\n" +
                            "});");
                }
            });
            mWebView.setWebChromeClient(new WebChromeClient());
            mWebView.loadDataWithBaseURL(null, strHtml1, "text/html", "utf-8", null);

好了,运行,来,我们来看下效果,出现了弹出框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值