当前位置: 首页 > 知识库问答 >
问题:

为远程html页面从Android中的本地资产加载jQuery

阎善
2023-03-14

共有1个答案

曹昊焱
2023-03-14

>

  • 定义如下所示的Javascript接口,该接口将从资产目录读取jquery文件

    class JavaScriptInterface {
    
        @JavascriptInterface
        public String getFileContents(){
            return readAssetsContent("jquery.js");
        }
    }
    

    更新WebView以启用JavaScript并添加之前定义的JavaScriptInterface...

    webView.getSettings().setJavaScriptEnabled(true);       
    webView.addJavascriptInterface(new JavaScriptInterface(), "android");
    

    在远程HTML中添加javascript代码片段,以便通过android javascript接口读取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编程新手,有没有一种方法可以使用View在android中加载或显示html文件表单资产文件夹。OnClickListener 让我重新表达我的问题:有没有可能写一个类似下面的代码来调用/加载/显示本地html文件表单资产文件夹时,按钮被点击 如果我不够清楚,一定要告诉我。。 非常感谢!!!!

    • 我试图在我的Android应用程序中呈现一个使用jQueryMobile创建的页面,但我需要在webView中进行,处于脱机状态。 为此,我开始复制页面的index.html,并将所有所需的资产直接带到设备的内部存储中。然后,我在设备的内部浏览器和Chrome应用程序中输入加载了它,网站显示得很好,有jQuery样式和所有样式。 然后我进入我的应用程序,在那里我有一个webView,这就是我实际上

    • 我必须将MathJax功能添加到我的应用程序中。 根据一些示例,要添加的正确脚本是 脚本从Asset目录中的本地文件夹加载。 当从文件系统上的另一个文件夹(私有应用文件夹)加载到Android WebView中时,我必须将该脚本添加到本地超文本标记语言文件中。 HTML页面中有数学公式,必须由MathJax函数读取。 在加载之前,我无法将脚本作为标记注入HTML文件。但是,公式的渲染也必须在加载后

    • 我是初学者。我已经使用“反应本机运行Android”命令在Ubuntu上运行了反应本机项目。我在模拟器上收到错误“无法从资产“index.android.bundle”加载脚本。确保您的包包装正确,或者您正在运行包服务器。”

    • 在使用./gradlew assembledebug构建apk后,我得到了这个错误。如果我用./gradlew assembleRelease构建apk,我会在手机上安装应用程序时出现错误。当我用react-native run-android在虚拟设备中运行相同的应用程序时,应用程序运行良好,没有任何麻烦。有什么想法吗?

    • 我正试图将本地url加载到webview,但我不想使用assets文件夹,因为它是只读的,而且我需要从Web服务更新文件。 Web服务调用运行良好,并将html文件保存到设备上的文件夹中,使用 这将在应用程序的存储空间中创建一个文件夹'app_live',并用HTML填充该文件夹。 现在,当我把它加载到我的Webview中时,应用程序显示“网站不可用”,尽管livefolder.isdir()返回