检测Cordova插件是否存在

sgu*_*uha 7 phonegap-plugins cordova

有没有办法判断Cordova 2.5.0中是否可以调用特定的Cordova插件?Cordova.exec接受a successFunction和a failFunctionfailFunction仅在本机代码执行时才调用.如果接收功能不存在,有没有办法接收错误或回调?我正在寻找一个与加载到WebView中的删除URL一起使用的解决方案

http://docs.phonegap.com/en/2.5.0/guide_plugin-development_ios_index.md.html

Iva*_*ele 13

对于一个非常简单(和更简洁)的解决方案,您也可以使用此方法:

var plugins = cordova.require("cordova/plugin_list").metadata;
Run Code Online (Sandbox Code Playgroud)

你会得到一个看起来像这样的对象:

{
    'cordova-plugin-network-information': "1.0.0",
    'cordova-plugin-whitelist': "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)

作为任何常规变量,您可以检查它是否已定义:

if (typeof plugins['cordova-plugin-whitelist'] === "undefined")
{
    // This plugin is missing
}
Run Code Online (Sandbox Code Playgroud)


sha*_*ish 2

您可以在尝试访问插件之前设置 100 毫秒的 setTimeout,并在插件成功/失败时取消超时。如果超时触发 - 插件未安装。