本文不是插件详解,只是罗列公司上线项目中使用到的各种插件以及碰到的坑,如果像详细了解一个插件建议去其官方 github 查看。
ionic 插件的安装方法:ionic plugin add pluginName
我自己查找插件的方式:首先 ngcordova,然后是 cordova 官方(cordova 官方有点坑,千万注意自己的 cordova 版本,不要找到万年不更的插件,发现老是搞不出来)。
插件是各种原生代码写成的,所以建议 ionic 开发者们有空可以多看看原生,如果碰到坑可以自己改改。
cordova-plugin-app-version
app版本插件,用于提示 app 更新。
使用方式:
获取版本号:cordova.getAppVersion.getVersionNumber()
tips:iOS 就不要做版本检查了,因为 app 会被要求去除该功能!!!
cordova-plugin-console
看名字就懂了,就是把 js 文件的 console 让你在 xcode 或者 android studio 控制台里看到 js 的console。
tips:调试神器。
cordova-plugin-geolocation
这个插件非常屌,调用原生 api 并把接口做成了 w3c 标准,简单说就是你的定位相关代码只需要写一次,就能在 app 和浏览器两端跑。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log("navigator.geolocation works well");
}
deviceready 需要依赖于 cordova-plugin-device 插件。
tips:
iOS 设备支持度非常高,定位效果也不错,android 部分设备无法获取定位。如果对于定位要求很高,最好结合原生做。
必须要按上面例子当中在 deviceready 出发后来完成定位,不然会出现 iOS 上提示两次的问题。
cordova-plugin-inappbrowser
在 app 里面打开网页就需要这个插件了。用法类似 geolocation 一样,他做了兼容,直接使用 window.open 即可。
tips:ionic 当中 a 标签 tel 呼出拨号的时候会有问题,需要写成这样:click 事件里 window.open("tel:" + 800xxxxxxx, "_system");
cordova-plugin-splashscreen
进入 app 的那个画面就是用的这个插件啦。
tips:ionic 提供了 ionic resource 的图片工作流,也就是他会自动生成各种尺寸的 splash 图片。但需要注意的是,你需要在 xml.config 当中添加完整,不然会出现部分机型有图片,部分机型仍旧是cordova logo 的情况。
cordova-plugin-statusbar
状态栏插件,支持开发者定义状态栏。使用方式参考 readme 即可,简单实用的一个插件。
ionic-plugin-keyboard
键盘插件,就是让 app 里的输入框能弹出键盘的。这是 ionic 作者自己的项目,我就不多说什么了吧。
tips:app 初始化定义一下就可以了。
cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
cordova.plugins.Keyboard.disableScroll(true);
cordova-plugin-x-toast
原生 toast 提示,用安卓的应该都知道,原生的 app 那种提示,ionic 也能做哦。用法很多,请参考其 github。
tips: ngcordova 下的,所以直接用 $cordovaToast 即可。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。