使用cordova遇到的一些坑

cordova不支持WebGL

three.js(文檔)寫了一個webGL的示例程序,在PC瀏覽器上正常,移植到cordova上,就報錯了。結果一查,才知道不支持webGL(出處在這裏)。這個網站說他們的東西可以支持webGL,就是部署集成有點麻煩。

明天用SVG試試,不知道哪裏有詳細說明。

今天用seenjs實現了3D的SVG,說明cordova支持SVG。這下我終於放心了。

順便插一句:seenjs的文檔那麼長,作者也沒弄個浮動的導航,太不方便了,於是自己花了10來分鐘寫了一段代碼生成這個東西。代碼貼在這裏,免得今後忘了:

var nav = document.createElement('div');
nav.id = "nav";
var headers = $$('h2');
var htmls = "";
for(var i=1; i<headers.length; i++){
	htmls += "<div><a href='#"+headers[i].id+"'>"+headers[i].innerHTML+"</a></div>";
}
nav.innerHTML = htmls;
document.body.appendChild(nav);

var style = document.createElement('style');
style.innerText = "#nav {width:200px;position:fixed;top:0;right:0;font-size:10pt;line-height:1.5em;text-align:right}";
document.head.appendChild(style);

cordova不支持coffeeScript

在chrome中,可以通過引入coffee-script.js,然後在script標籤中直接指定type="text/coffeescript"即可在html中寫coffee script代碼了。標籤如下:

<script type="text/coffeescript">
coffeescript here
</script>
但是,移植到cordova中又死活不行了。我不得不將seenjs的代碼編譯成普通js。幸好seenjs庫本身有編譯好的js文件下載,不然也需要將庫程序編譯一遍(我沒編譯時報錯)。


cordova在手機上調試

cordova也並不全是渣,好的方面同樣也是很多滴。

可能有人還遇到過調試困難,因爲環境跟web環境不一樣,不能用在瀏覽器上的運行結果直接想像成在cordova中的運行結果。因此,方便的調試方法還是必須滴。可是adb的調試只能在java層面上,而cordova是在java外圍,adb無法連接調試,所以android開發工具(adt, android studio之類)就只能乾瞪眼。

連接手機進行webview調試的方法是:

在PC瀏覽器(首選chrome,其它是否可用未知)中打開功能菜單(右上角三橫的圖標)->工具->檢查設備。在新打開的標籤頁中可以看到正在連接的設備,點擊inspect鏈接,則會打開一個新窗口。現在就跟調試瀏覽器中的web程序一樣了。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章