【问题标题】: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 文件:

【问题讨论】:

    标签: javascript ios cordova phonegap-plugins hybrid-mobile-app


    【解决方案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命令创建项目最后添加平台和插件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多