1

我最初开始使用 WebView 在资产文件夹中显示网页。然而,我似乎已经超越了这一点,因为我的页面没有像我预期的那样表现。根据开发者文档,WebView 只能用于没有交互的静态页面。未启用 CSS、javascript 等。这对我所看到的行为是有道理的。虽然我的页面在开发环境浏览器中呈现得很好,但它看起来就像设备上的纯 HTML,没有 css 或 javascript 功能。因此,如果我想显示一个启用了 css 和 javascript 等的本地(资产文件夹)html 页面,我将如何去做呢?我认为这样一个简单的事情存在教程,但我的谷歌搜索是空的。

如果我的链接很糟糕,那就是标题。

<head>
     <link href="folderA/folderB/file.css" rel="stylesheet" />

     <script src="folderA/js/file.js"></script>
</head>

再次感谢您帮助这个菜鸟。JB

刚发现这个。可能在正确的轨道上? http://developer.android.com/guide/webapps/index.html

4

1 回答 1

3

根据开发者文档,WebView 只能用于没有交互的静态页面

请引用。我从未见过这样的说法,并且有很多很多应用程序使用WebView“交互”。

未启用 CSS、javascript 等

CSS肯定是启用的——事实上,AFAIK,即使你想禁用它也没有办法。默认情况下禁用 JavaScript,但只需简单地调用getSettings().setJavaScriptEnabled(true)on your即可WebView启用它。

因此,如果我想显示一个启用了 css 和 javascript 等的本地(资产文件夹)html 页面,我将如何去做呢?

loadUrl("file:///android_asset/index.html")index.html工作,在项目目录的根目录中加载文件assets/

例如,在这个示例项目中,我file:///android_asset/book/0.htm将(和其他 HTML 文件)WebView加载到加载到ViewPager. 每个 HTML 引用一对 CSS 样式表,使用:

<link href="0.css" type="text/css" rel="stylesheet"/><link href="pgepub.css" type="text/css" rel="stylesheet"/>

这个示例项目中,我从资产中加载了一些 HTML 并使用了一些页面内 JavaScript。

assets/现在,我对内部的目录结构并尝试跨目录访问内容并没有做太多事情。可以想象,您遇到了一些与此相关的问题。

于 2012-05-02T21:11:00.517 回答