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的形式存在了文檔中,只需要瀏覽器進行編譯就可以了。
同理: