在浏览器中开发时如何处理cordova插件?

时间:2015-08-24 20:37:48

标签: javascript cordova cordova-plugins

我正在开发Ionic,Angular和Cordova应用程序,我正在寻找在浏览器中进行开发时在Javascript中调用Cordova插件的最佳方法。什么是最佳做法?我怎么能让它变干?

让我们说我正在使用Cordova全球化插件。为了防止在浏览器内部进行测试时出现任何错误,我必须将代码包装在try中并像这样捕获:

try {
   navigator.globalization.getPreferredLanguage(onSuccess, onError);
}
catch (e) {
   console.log(e);
}

或者我会测试navigator.globalization是否定义如下:

 if(navigator.globalization) {
     navigator.globalization.getPreferredLanguage(onSuccess, onError);
 }

但是,每次我需要调用Cordova插件时,有什么方法可以避免这样做吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

仅当您在设备或模拟器中运行应用程序时,cordova.js才可用。因此,您无法在浏览器中使用cordova插件。因为您需要在每个插件调用上检查if(navigator.globalization)以便在浏览器上进行测试,因此我建议您在这些调用之上创建自己的包装器或函数,某种全局函数,它将调用这些插件函数。 这是一个简单的javascript示例。

function MyGlobalizationService(){
};

MyGlobalizationService.prototype.getPreferredLanguage = function(onSuccess, onError){
 if(navigator.globalization) {
     navigator.globalization.getPreferredLanguage(onSuccess, onError);
 }
}

window.myGlobalizationService = new MyGlobalizationService();

然后在应用程序的任何位置使用window.myGlobalizationService函数。