2012-05-02 42 views
1

我最初开始使用WebView在资产文件夹中显示网页。不过,我似乎已经超出了这个范围,因为我的页面没有像我期望的那样行事。根据开发人员文档,WebView应该只用于没有交互的静态页面。 CSS,JavaScript等没有启用。这对我所看到的行为是有意义的。虽然我的页面在开发环境浏览器中很好地呈现,但它看起来像设备上的纯HTML,没有CSS或JavaScript功能。所以,如果我想显示一个本地(资产文件夹)的HTML页面与CSS和JavaScript等启用如何去做这件事?我认为教程存在这样一个简单的事情,但我的谷歌搜索是空的。使用全功能浏览器显示本地页面

关于我的链接不好的地方是标题。

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

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

再次感谢您帮助这个noob。 JB

刚发现这个。可能会走上正轨? http://developer.android.com/guide/webapps/index.html

回答

3

根据开发文档的WebView应该仅用于那些没有互动

引用,请静态页面。我从来没有见过这样的说法,并且有许多应用程序使用WebView进行“交互”。

CSS,JavaScript的等未启用

CSS肯定是启用 - 事实上,据我所知,有没有方法来禁用它,即使你想。 JavaScript在默认情况下处于禁用状态,但在您的WebView上只需拨打getSettings().setJavaScriptEnabled(true)即可启用。

所以,如果我想用CSS和JavaScript等启用我怎么会去这样做,显示本地(资产文件夹)html页面?

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

例如,在this sample project中,我将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"/> 

this sample project,我加载一些HTML出资产和在页面的JavaScript使用一些。

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

+0

在基本语言下“默认情况下,WebView不提供类似浏览器的小部件,不启用JavaScript并忽略网页错误。如果您的目标只是将一些HTML显示为用户界面的一部分, ;除了阅读外,用户不需要与网页交互,网页也不需要与用户交互。如果你真的想要一个完整的Web浏览器,那么你可能想用URL Intent调用浏览器应用程序,而不是用WebView“ – GPGVM

+0

@ user1278561”显示它:这并不是说“WebView应该只用于静态页面没有任何交互“,而且,考虑到浏览器应用程序**使用WebView来渲染**,这段话说的是,处理Web浏览器的所有功能都是很难的,所以你的体验越丰富需要,你可能想要考虑的只是使用一个浏览器应用程序,而不是试图自己复制所有的浏览器支持代码 – CommonsWare

+0

启用Javascript做到了,我很抱歉,如果我感到困惑/困惑,这不是第一个,也可能是最后一个Android开发人员的文档让我感到困惑 – GPGVM

相关问题