PhoneGap 构建插件不起作用
Posted
技术标签:
【中文标题】PhoneGap 构建插件不起作用【英文标题】:PhoneGap Build Plugins not functioning 【发布时间】:2013-11-09 08:07:14 【问题描述】:我正在构建一个 PhoneGap Build 应用程序,我需要一些插件。我已经关注了文档,但没有一个工作。由于他们都没有工作,我想这是一个常见的问题。这是config.xml
文件中的插件:
<!-- Plugins -->
<gap:plugin name="org.apache.cordova.device" /> <!-- Device plugin -->
<gap:plugin name="com.phonegap.plugin.statusbar" /> <!-- Status bar plugin -->
<gap:plugin name="com.verso.cordova.clipboard" /> <!-- Clipboard plugin -->
<gap:plugin name="com.chariotsolutions.cordova.plugin.keyboard_toolbar_remover" /> <!-- Keyboard toolbar removal plugin -->
<gap:plugin name="org.apache.cordova.splashscreen" /> <!-- Splashscreen plugin -->
<gap:plugin name="org.apache.cordova.vibration" /> <!-- Vibration plugin -->
这是index.html
文件中的链接(如果有问题,我最好的猜测是它会在这里):
<!-- PhoneGap Build -->
<script src="phonegap.js"></script>
<script src="device.js"></script>
<script src="statusbar.js"></script>
<script src="clipboard.js"></script>
<script src="keyboard_toolbar_remover.js"></script>
<script src="splashscreen.js"></script>
<script src="vibration.js"></script>
除了设备插件(触发 'deviceready' 事件)外,没有其他工作。
以下是 javascript 文件中的一些代码:
document.addEventListener("deviceready", function(e)
// Hiding the status bar as even the fullscreen preference in config.xml isn't working
StatusBar.hide();
window.setTimeout(function()
// Trying to hide the splash screen which also doesn't work (or even show) properly from config.xml
navigator.splashscreen.hide();
, 4000);
, "false");
我用警报测试了这个函数,我可以向你保证它确实被调用了。这里还有一些:
// This is for the clipboard plugin
function handleCopyAndPaste()
$(".copyButton").click(function()
window.plugins.clipboard.copy($("#result").val());
);
$(".pasteButton").click(function()
window.plugins.clipboard.paste(function (text)
$("#convertThis").val(text);
convert();
);
);
这是为了振动:
navigator.notification.vibrate(2500);
这是为了在名为#convertThis
的输入字段具有focus()
时隐藏键盘工具栏:
$("#convertThis").focus(function()
toolbar.hide()
);
我尝试删除 index.html
中的 js 链接,但仍然没有。我还尝试将插件标签放在config.xml
中的小部件标签之外,然后......什么都没有!奇怪的是,PhoneGap Build 仪表板中的插件选项卡显示没有安装:
(来源:uzusoft.com)
如果您可以就此事提供任何帮助,请提供帮助!也请关于 config.xml 问题。
更新:我目前使用 PhoneGap Build 3.1.0 是为了支持 ios 7。
【问题讨论】:
你需要做以下步骤: 1. 原生代码中的android插件(Android插件) 2. 调用函数的html部分 3. 编写js函数调用原生代码 4. 在config.config中配置插件xml 你的 android 本机代码在哪里。如果您提供其他人可以看到这就是问题所在。在以下链接中查看如何使用 android 插件的示例:***.com/questions/19721772/… @power_scriptor 我没有在本地使用PhoneGap...我正在使用PhoneGap Build,因此我不维护本机API,也无法编写本机代码。所有这些插件都是PhoneGap Build Plugins页面中提供的插件。此外,我正在为所有平台构建,而不仅仅是 Android。 你应该发布你的整个 index.html 页面和 config.xml,上面所有的代码看起来都很好,所以它必须在其他地方。 PS - 你能在“deviceready”触发后收到警报吗? @Red2678 抱歉迟到了,网站已关闭。 deviceready 事件触发了!我确实收到了警报。我的 index.html 页面也是空的,因为所有元素都是通过 jQuery 插入的。 【参考方案1】:我意识到我在config.xml
文件中犯了一个错误,从而解决了这个问题:
这个:xmlns:gap = "http://phonegap.com/ns/1.0"
是 xmlns:gap = "http://phonegap.com/ns/3.1.0"
,因为我认为这是使用 Cordova 3.1.0 所必需的,但实际上与它没有任何关系。
【讨论】:
轰隆隆! :D 对不起,我迟到了!很高兴你修好了。 很好,我遇到了同样的问题并意识到我忘记了 /ns :-)【参考方案2】:把config.xml放到www目录下。然后在 build.phone.com 上只上传 www.zip。
【讨论】:
以上是关于PhoneGap 构建插件不起作用的主要内容,如果未能解决你的问题,请参考以下文章
使用 phonegap 构建服务的插件 plugin.google.maps 在 ios 上不起作用
带有phonegap adobe build的FacebookConnect插件不起作用