在我的系统中更新Cordova 5.0后,我创建了新的应用程序.当我在设备上测试我的应用程序时,我在控制台日志中出现错误:
No Content-Security-Policy meta tag found.
Please add one when using the Cordova-plugin-whitelist plugin.: 23.
Run Code Online (Sandbox Code Playgroud)
我在head部分添加了meta
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'>
Run Code Online (Sandbox Code Playgroud)
但同样,我在使用应用程序内浏览器插件和其他7个网站链接的应用程序中得到了同样的错误.
我是Cordova CLI的新手.
我需要通过Cordova以编程方式执行以下步骤.
我想我需要在项目根目录中的config.xml文件中执行此操作(或者可能是"platforms"文件夹中的那个).
有人可以向我解释如何通过config.xml添加条目,以便在编译时添加上述条目吗?
我正在使用Cordova 3.3.1-0.42(我知道它不是最新的).我已经完成了我的项目,一切都很好,我只需要将这个条目添加到pList中.
我是phonegap的新手.我准备了一个示例应用程序.我的应用程序有2页,第一页有一个按钮,点击时第二页将打开.它使用以下工作正常
function callAnothePage()
{
window.location = "test.html";
}
Run Code Online (Sandbox Code Playgroud)
第二页有一个按钮,单击时我想退出应用程序.我使用了以下内容
function exitFromApp()
{
navigator.app.exitApp();
}
Run Code Online (Sandbox Code Playgroud)
test.html 码,
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8">
function onLoad()
{
console.log("device reday !!!!")
document.addEventListener("deviceready", onDeviceReady, true);
}
function exitFromApp()
{
console.log("in button");
navigator.app.exitApp();
}
</script>
</head>
<body onload="onLoad();">
<h4><center>Login Page</center></h4>
<input type="submit" onclick="exitFromApp()" value="exit"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但它没有用.
我正在为三个不同的平台构建一个phonegap应用程序:Android,iOS和Blackberry.在这样做时,我必须检测设备类型,以便我可以管理我的应用程序在不同平台和Android手机,Android平板电脑,iPhone,iPad和黑莓等不同设备的高度和宽度......
我正在创建一个应用程序,我希望从用户那里获得分析.我试图使用Phonegap插件,但我没有运气试图实现它.
我想知道是否有可能通过将应用程序视为普通网页并将一些javascript放在我的页面的头部来获取Google Analytics.
有一个更好的方法吗?Phonegap Google Analytics比我想做的要好得多吗?
我的Phonegap Build应用程序中的所有内容都在运行,包括Analytics和FacebookConnect插件.但是,现在我想添加AdMob广告.
Phonegap Build不为AdMob提供内置插件,但根据Phonegap Build Plugins页面,您现在可以添加自己的自定义插件(请参阅页面底部的Contributing Plugins).
PhoneGap插件可以通过使用plugin.xml文件与PhoneGap Build兼容...
Phonegap Build Plugins页面引用GitHub上的Child Browser plugins.xml作为如何设置自定义plugin.xml的示例.以下是Child Browser plugin.xml的内容.
我不确定我需要修改此文件的哪些方面以及修改它们的内容.我想我已经为iOS和Android正确设置了Phonegap AdMob插件的文件结构(参见下面的文件结构),但我不确定如何在plugin.xml文件中正确引用这些文件.
<?xml version="1.0" encoding="UTF-8"?>
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
xmlns:android="http://schemas.android.com/apk/res/android"
id="com.phonegap.plugins.childbrowser"
version="3.0.4">
<name>Child Browser</name>
<asset src="www/childbrowser.js" target="childbrowser.js" />
<asset src="www/childbrowser" target="childbrowser" />
<!-- android -->
<platform name="android">
<config-file target="AndroidManifest.xml" parent="/manifest/application">
<activity android:name="com.phonegap.plugins.childBrowser.ChildBrowser"
android:label="@string/app_name">
<intent-filter>
</intent-filter>
</activity>
</config-file>
<!-- Cordova 1.5 - 1.9 -->
<config-file target="res/xml/plugins.xml" parent="/plugins">
<plugin name="ChildBrowser"
value="com.phonegap.plugins.childBrowser.ChildBrowser"/>
</config-file>
<!-- Cordova 2.0.0 -->
<config-file target="res/xml/config.xml" …Run Code Online (Sandbox Code Playgroud) admob phonegap-plugins cordova phonegap-build phonegap-admob
我是phonegap开发的新手,所以我有几个问题:
1)我正在使用加速度计插件.我在手册中读到我需要在config.xml文件中声明插件才能使用它.但是我注意到即使我从config.xml中删除了声明
<feature name="Accelerometer">
<param name="android-package" value="org.apache.cordova.AccelListener" />
</feature>
Run Code Online (Sandbox Code Playgroud)
加速度计仍然有效.
所以我想问你,如果在phonegap 3.0.0版本中,config.xml的使用已经过时了.如果是这种情况那么绑定发生在哪里?
2)我使用android平台构建应用程序.在项目结构中,有三个具有不同内容的config.xml文件:
他们每个人有什么用?我想在哪里申报我的插件?我在res/xml/config/xml文件中完成了它
谢谢
我正在构建Cordova 3.5.0应用程序.我使用grunt构建一个缩小的Web应用程序,然后我使用cordova CLI和cordova钩子来构建一个特定于平台的包.我使用了10多个不同的插件,一些Cordova官方插件和一些自定义插件.我想知道如何连接和缩小插件中的JS文件与我的其他第三方库.
执行后,cordova prepare我看到生成的cordova_plugins.js文件包含以下内容:
cordova.define('cordova/plugin_list', function(require, exports, module) {
module.exports = [
{
"file": "plugins/org.apache.cordova.globalization/www/GlobalizationError.js",
"id": "org.apache.cordova.globalization.GlobalizationError",
"clobbers": [
"window.GlobalizationError"
]
},
{
"file": "plugins/org.apache.cordova.globalization/www/globalization.js",
"id": "org.apache.cordova.globalization.globalization",
"clobbers": [
"navigator.globalization"
]
}
];
module.exports.metadata =
// TOP OF METADATA
{
"org.apache.cordova.globalization": "0.3.1"
}
// BOTTOM OF METADATA
});
Run Code Online (Sandbox Code Playgroud)
我知道如何使用这些插件缩小和生成单个文件,但不知道如何调整cordova构建过程以从单个文件但不同的包中获取所有clobbers.我的第一个想法是所有过程都必须在platforms/<platform>/assets/www文件夹内的AFTER_PREPARE步骤中完成
我正在尝试调试cordova_plugins.json文件用于什么?
到目前为止我使用多个插件,我从未与此文件进行过交互.我想弄清楚为什么cordova在初始化时对此文件发出xhr请求.
在查看我的控制台时,每次我在Chrome中测试我的应用程序时都会看到这个404错误,并且想要理解为什么需要这个文件.
我正在尝试根据使用PhoneGap/Cordova Camera Plugin从设备图库中选择的图像在我的应用中设置img标记的来源.
它以前在旧版本的Android(3.3)上工作,并且可以在iOS上正常工作,但现在无法解析4.4(KitKat)上的图像路径.
返回的图像URL的返回路径如下所示:
content://com.android.providers.media.documents/document/image%3A352
Run Code Online (Sandbox Code Playgroud)
当我使用此路径通过JavaScript设置为图像src时,无法解析URL,从而产生加载错误.使用相机拍照时没有问题,只有在从画廊中选择现有照片时才会出现这种情况.
我已尝试编码到base64并尝试了文档中提到的方法,resolveLocalFileSystemURI();但我没有运气这些.我也试过删除相机插件并重建应用程序,但没有快乐.
我的猜测是KitKat处理图库的方式发生了变化,PhoneGap/Camera插件尚未更新以适应这种情况.
cordova ×10
phonegap-plugins ×10
android ×3
cordova-3 ×2
ios ×2
admob ×1
javascript ×1
whitelist ×1