使用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程序一样了。


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