首页 > 解决方案 > 将长js代码加载到android webview html文件中

问题描述

我在将 js 加载到我的 android webview 时遇到问题。这是我的安卓网页视图:

    QuizWebView = findViewById(R.id.QuizWebView);
    QuizWebView.getSettings().setJavaScriptEnabled(true);
    QuizWebView.setWebChromeClient(new WebChromeClient());
    QuizWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
        QuizWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
        QuizWebView.getSettings().setAllowFileAccessFromFileURLs(true);
    }
    QuizWebView.loadUrl("file:///android_asset/quiz-app-remastered-master/index.html");

当我尝试加载像“警报”功能这样的短 js 时,它的工作完美。

    jsToLoad="alert('ddd')";
    QuizWebView.loadUrl("javascript: "+jsToLoad);

将显示警报。

但是当我用另一个代码尝试这个时:

jsToLoad="const STORE = {questions:{accessibility: [{question: \"What is one thing the lang property used for?\",code: `<html lang=\"en\">`,answers: [\"To set what version of HTML the page uses\",\"To determine the linear angle for CSS properties\",\"To restrict the page to only be viewed in certain regions\",\"To be used by search engines to return language specific results\"],correctAnswer: \"To be used by search engines to return language specific results\"}]}};";

JS 代码不工作......我试图直接在我的 index.html 文件中编写这段代码并且代码工作,所以我的应用程序中的问题。

我不知道,也许无法以这种方式在我的应用程序中集成很长的 JS 代码?如果这是不可能的,也许我需要做的是创建一个临时 JS 文件,然后尝试将其加载到 index.html 中?我试图做类似的事情,但我没有那么成功..我很想得到指导和帮助。谢谢!

标签: javascriptjavaandroidandroid-webview

解决方案


推荐阅读