【问题标题】:How to load local HTML with JavaScript in Android WebView?如何在 Android WebView 中使用 JavaScript 加载本地 HTML?
【发布时间】:2011-10-25 20:27:06
【问题描述】:

我用 HTML 和 JavaScript 编写了一个游戏。我已将 HTML 文件本地加载到 WebView 中,但它没有加载 JavaScript。我想知道如何让 HTML 使用 JavaScript。非常感谢任何帮助。

【问题讨论】:

  • 您目前将 HTML 和 Javascript 放在哪里?在资产文件夹中?

标签: javascript android html webview


【解决方案1】:

试试这个代码..这个代码适用于..希望它对你也有帮助。

WebView webView;
        webView = (WebView) findViewById(R.id.wbView);
        webView.getSettings().setPluginsEnabled (true);
        webView.getSettings().setJavaScriptEnabled (true);

【讨论】:

    【解决方案2】:

    您可以在这里查看:http://developer.android.com/resources/tutorials/views/hello-webview.html

    为了通过 webview 获得对 js 的总体看法,更具体地说:

    mWebView.getSettings().setJavaScriptEnabled(true);
    

    希望这会有所帮助!

    【讨论】:

    • 它不起作用。 HTML 在本地加载 2 个 javascript。还有其他方法吗?
    • 请添加一些代码以便更好地理解您的问题。
    【解决方案3】:

    你可以试试这个:

    String html = "<html><body>Hello, World!</body></html>";
    String mime = "text/html";
    String encoding = "utf-8";
    WebView myWebView = (WebView)this.findViewById(R.id.myWebView);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.loadDataWithBaseURL(null, html, mime, encoding, null);
    

    【讨论】:

      【解决方案4】:

      只需像这样加载 HTML 文件 URI:

      webView.loadUrl("file://" + getContext().getExternalCacheDir() + "/editor.html");
      

      希望对你有帮助!

      【讨论】:

        【解决方案5】:
            binding.webview.settings.javaScriptEnabled=true
            binding.webview.loadUrl("file:///android_asset/GeneralCF.html")
        
            binding.your_view.setOnClickListener {
                // load js on click button
                binding.webview.loadUrl("javascript:myFunction(\"$str_name\")")
            }
        

        index.js

        function myFunction(str_name)
        {
        document.getElementById("demo").innerHTML = str_name;
        }
        

        GeneralCF.html

                <!doctype html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta name="Generator" content="EditPlus®">
                <meta name="Author" content="">
                <meta name="Keywords" content="">
                <meta name="Description" content="">
                <title>Document</title>
                <script src="index.js"></script>
            
            </head>
            <body>
            
            <h1>This is my first webpage</h1>
            
            <p id="demo">A Paragraph.</p>
            
            <button type="button" onclick="myFunction()">Try it</button>
            
            
            </body>
            </html>
        

        【讨论】:

          【解决方案6】:

          WebSettings webSettings = webView.getSettings();

          webSettings.setJavaScriptEnabled(true);

          字符串编码Html = Base64.encodeToString(html_code_goes_here_string_object.getBytes(), Base64.NO_PADDING);

          webView.loadData(encodedHtml, "text/html", "base64");

          【讨论】:

            猜你喜欢
            • 2011-09-25
            • 2014-01-19
            • 2014-02-28
            • 2011-05-31
            • 2011-11-04
            • 2019-04-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多