gpt4 book ai didi

android - 从 Android 中的本地 Assets 加载 jQuery 以获取远程 html 页面

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:34:47 24 4
gpt4 key购买 nike

我正在尝试从 Android webview 读取存储在 Assets 中的本地 javascript 文件 (jQuery)。我不想使用 load-with-base-url 加载,因为我的图像和 html 是远程提供的。

总结:- 将本地 jQuery(在 Assets 文件夹中)加载到 Android webview 中的远程加载页面。

经过长时间无果而终的浏览,我决定在这里提出这个问题。请帮忙。

谢谢!

最佳答案

  1. 定义一个如下所示的 Javascript 接口(interface),它将从 Assets 目录中读取您的 jquery 文件

    class JavaScriptInterface {

    @JavascriptInterface
    public String getFileContents(){
    return readAssetsContent("jquery.js");
    }
    }
  2. 更新 WebView 以启用 JavaScript 并添加之前定义的 JavaScriptInterface...

    webView.getSettings().setJavaScriptEnabled(true);       
    webView.addJavascriptInterface(new JavaScriptInterface(), "android");
  3. 在您的远程 HTML 中添加 javascript 代码 fragment 以通过 android JavaScript 接口(interface)读取 jquery 文件内容...

    <script type="text/javascript">
    var s = document.createElement('script');
    s.innerHTML = window.android.getFileContents();
    document.head.appendChild(s);

    //check if jquery is loaded now...
    if(typeof $ != "undefined") {
    $(document).ready(function() {
    $('body').css('background','green');
    });
    } else {
    document.body.innerText = "jQuery NOT loaded";
    }
    </script>

关于android - 从 Android 中的本地 Assets 加载 jQuery 以获取远程 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com