【问题标题】:Add HTML code to html file in assets folder using webview使用 webview 将 HTML 代码添加到 assets 文件夹中的 html 文件
【发布时间】:2017-10-29 09:39:02
【问题描述】:

我正在使用 Android Webview,我的 html 文件位于 assets 目录中。 我的 html 中有一个 href:

<a class='edit link1'></a>

现在,我想在按下 android 按钮小部件时使用我的 Java 代码动态更改此代码,并为其添加一些 style,例如:

<a class='edit link1' style="border-radius:20px;"></a>

有可能吗?提前致谢。

下面是我的网页视图:

 wv1 = (WebView) findViewById(R.id.webview);
    wv1.getSettings().setJavaScriptEnabled(true);
    wv1.getSettings().setLoadWithOverviewMode(true);
    wv1.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
    wv1.setScrollbarFadingEnabled(false);
    wv1.getSettings().setBuiltInZoomControls(true);
    wv1.getSettings().setPluginState(WebSettings.PluginState.ON);
    wv1.getSettings().setAllowFileAccess(true);
    wv1.addJavascriptInterface(new WebViewJavaScriptInterface(this), "Android");
    wv1.getSettings().setSupportZoom(true);
    wv1.setWebViewClient(new MyBrowser());
    wv1.loadUrl("file:///android_asset/a.html");

【问题讨论】:

    标签: java android webview android-webview


    【解决方案1】:

    有可能吗?不,不可能。

    Android assets 文件是一种资源文件,一旦构建 apk 文件就不能修改它们。

    解决您的问题 -

    1. 利用存储文件系统。 (非常糟糕的方法,因为会有读、写、加载操作)。

    2. 使用java脚本接口并尝试动态添加样式到html元素。(理想的)

      示例:Changing element style attribute dynamically using JavaScript

    【讨论】:

    • 解决方案 2 对我来说看起来不错。您能提供一些您宝贵时间中的简短例子吗?
    • 请检查更新,有很多示例可用,也很简单。
    • 您提供的链接没有给我想要的东西。我已经实现了一个 WebViewJavaScriptInterface。现在,问题是使用 java,如何在加载 webView 之前修改我的 html 代码?
    • 我给出的解决方案是正确的,它确实包含解决您的问题所需的内容。 “现在,问题是使用java,如何在加载之前修改我的html代码?”对此您应该对android中javascript接口的使用有清楚的了解,这也需要html引擎内容渲染的知识。如果想在加载前处理更改,此链接可以帮助您 - w3schools.com/jsref/event_onload.asp
    • 你有足够的支持请谷歌,尝试一些样本。这是学习步骤,您应该加入。查看这个非常基本的示例developer.android.com/guide/webapps/webview.html
    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 2019-04-24
    • 2019-11-06
    • 2017-09-15
    • 2015-07-24
    • 2012-07-03
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多