使用 phonegap 插件需要啥?

Posted

技术标签:

【中文标题】使用 phonegap 插件需要啥?【英文标题】:What is necessary to use a phonegap plugin?使用 phonegap 插件需要什么? 【发布时间】:2016-07-26 04:39:22 【问题描述】:

我正在做一个项目,我需要使用navigator.notification.alert ... 代替alert()(因为alert() 在顶部有一个标签,上面写着index.html)。

我正在使用适用于 ios 的 PhoneGap View 应用程序来测试该应用程序,但它不允许我调用该方法 (navigator.notification.alert())。

这是我所做的:

使用phonegap plugin add ...安装插件 调用方法... .alert(...)

由于我对 Phonegap 和 Cordova 还很陌生,所以我想要一个列表,列出我实际使用这个插件所需的一切。

我需要导入任何 javascript 文件吗?有没有办法将插件导入我的 HTML?我可以列出使用 anyPhoneGap 插件需要做的所有事情吗?

更新 1

即使在创建新的 phonegap 应用程序后,我也没有收到任何 cordova.js 文件:

【问题讨论】:

【参考方案1】:

尝试添加平台(它将添加插件所需的cordova.js文件)

cordova platform add android/ios

然后构建

cordova build

可能是Phonegap 问题报告了here 和here。(由于它没有添加cordova.js 文件)

请在设备准备好后调用任何插件,因为这样可以使插件可用。如果你直接调用插件,那么你可能会得到插件undefined

对于示例

<!DOCTYPE html>
<html>
  <head>
    <title>Notification Example</title>

    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for PhoneGap to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // PhoneGap is ready
    //
    function onDeviceReady() 
        // Empty
    

    // alert dialog dismissed
    function alertDismissed() 
        // do something
    

    // Show a custom alert
    //
    function showAlert() 
        navigator.notification.alert(
            'You are the winner!',  // message
            alertDismissed,         // callback
            'Game Over',            // title
            'Done'                  // buttonName
        );
    

    </script>
  </head>
  <body>
    <p><a href="#" onclick="showAlert(); return false;">Show Alert</a></p>
  </body>
</html>

Reference

问候。

【讨论】:

糟糕,不是phonegap.js,而是cordova.js【参考方案2】:

任何 phonegap 插件都会在deviceready 事件被触发后工作。因此,请确保在调用 navigator.notification.alert() 方法之前触发 deviceready

由于您是通过cli 添加插件,因此无需导入任何javascript 文件。如果您的 html 页面中没有 cordova.js 文件,您只需添加对文件的引用即可。

希望对你有帮助。

检查下面的项目结构

【讨论】:

但我的www 目录中没有cordova.js 文件 它应该有cordova.js文件,否则任何cordova库都不会加载到您的项目中 在我的 Update 1 中,即使 Phonegap 也不会为我生成 cordova.js 文件。有没有可以在线访问该文件的地方? 另一个问题:我是否必须为我的应用程序的每个页面使用 'deviceready' 事件侦听器? 我建议你安装cordova。 "npm install -g cordova" 并使用cordova命令创建项目最后添加平台和插件

以上是关于使用 phonegap 插件需要啥?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 PhoneGap 总是显示默认的启动画面?

iOS 版 Phonegap 相机插件的质量设置有啥影响?

如何使用phonegap检测android中的来电号码

有没有phonegap iphone模拟器

一键构建PhoneGap构建到Android

iOS 构建匹配配置文件错误 - phonegap