关于Android WebView对JS与href支持

来源:互联网 发布:淘宝客推广广告语 编辑:程序博客网 时间:2024/05/16 05:56

WebView 支持javascript,但只限于本地的js代码,不提供如PC浏览器一样强大功能递归下载功能(可能也是因为手机自身的存储有限所致)。

因此,开发基于JS的Anroid程序不能依靠PC浏览器的这种功能,只能执行本地js,css代码。

曾经尝试在Anroid中利用如下的代码,失败


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>修改地图状态</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.1&services=true"></script>
</head>
<body>

<img src="http://map.baidu.com/mobile/img/logo.png"/>
<div style="width:520px;height:340px;border:1px solid gray" id="container"></div>
</body>
</html>
<script type="text/javascript">
  var map = new BMap.Map("container");                // 创建Map实例
  var point = new BMap.Point(116.403765, 39.914850);  // 创建点坐标
  map.centerAndZoom(point,15);                        // 设置中心点坐标,和地图级别。更重要的是初始化地图
  setTimeout(function(){
    map.panTo(new BMap.Point(116.409, 39.918));
  }, 2000);

</script>

因此,要想Anroid中能够执行js效果更好,只能通过硬编码的方式将资源放到html文本中:例如

background-image: url(data:image/gif;base64,AAAA)方式表示一幅图:


其中:
data: ----获取数据类型名称image/gif; -----指数据类型名称base64 -----指编码模式AAAAA ------指编码以后的结果。
background-image: url(data:image/gif;base64,AAAA)这句话的意思总体就是“获取数据类型是image gif文件,编码采用ASCII 字符,ASCII编码内容是‘AAAA’”
图片本身就已经以ASCII的形式存在了文档中,只需要浏览器进行编译就可以了。



同理: