【问题标题】:Android WebView with css and javascript带有 css 和 javascript 的 Android WebView
【发布时间】:2018-04-27 22:21:13
【问题描述】:

我在这里看到的许多答案都是 6 岁以上的,所以我想知道我是否能得到一个更新的答案,因为他们没有为我工作。我有一个 html 文件 file.html,其中包含一个

<LINK href="stylesheet.css" type="text/css" rel="stylesheet">

对于 CSS 和以下对于 javascript:

<script src="myscript.js"></script>

file.htmlstylesheet.cssmyscript.js都存储在app/assets/Content/

所以我正在尝试运行它:

WebView webView = (WebView) findViewById(R.id.event_webview);
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.loadUrl("file:///assets/Content/file.html");

但是,WebView 显示错误:

网页不可用:网页位于 file:///assets/Content/file.html 无法加载,因为 净::ERR_FILE_NOT_FOUND

我也考虑过使用 loadDataWithBaseURL 但这需要数据字段包含所有的 html 文件太大而无法硬编码。 有人知道我如何将 html+css+javascript 用于 WebView 吗?

【问题讨论】:

    标签: android android-webview


    【解决方案1】:

    asset 文件夹的 URI 不正确。将 asset 更改为 android_asset。如下:

    webView.loadUrl("file:///android_asset/file.html");

    【讨论】:

    • 所以目录结构可以保持不变,/ap/android/assets/Content/file.html 但Java 中的行将是webView.loadUrl("file:///android_asset/Content/event_progress_thermometer.html");?编辑:是的,这有效!
    • 我将如何从 java 调用我的 javascript 文件 myscript.js 中的函数?
    • 可以使用webView.evaluateJavascript("&lt;functionname&gt;()", null)调用JS方法。
    猜你喜欢
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多