我正在构建一个PhoneGap应用程序.我的应用程序设计为320px接口.我在应用中的视口标记是:
<meta name="viewport" content="width=320, initial-scale=0.5, maximum-scale=0.5, user-scalable=no"/>
Run Code Online (Sandbox Code Playgroud)
这在我的Galaxy S2运行冰淇淋三明治上的预期效果.320px界面填充整个屏幕宽度.
但是,在Galaxy Nexus上测试上述代码时,视口宽度为360px.所以我的元素没有填满屏幕.我尝试将以下行添加到Cordova的appname.java文件中:
this.appView.getSettings().setUseWideViewPort(true);
Run Code Online (Sandbox Code Playgroud)
但是,这没有效果.
我在这里有点腌菜.我目前有一个由第三方托管服务提供商托管在共享托管环境中的网站.因此,我没有root访问此网站所在的IIS服务器.
我目前在网站上有一个目录,例如:
mysite.com/myfiles
"myfiles"目录目前有很多文件.这么多文件让我在主机的磁盘空间分配.现在有几件事要考虑:
主持人没有更慷慨的计划让我们升级到.他们只愿意向我们收取(非常高)的超额费用.
我们需要留在这个主人,直到我们与他们的合同结束,这将近一年.
我想把这个目录的内容放在Amazon S3上,这将减轻托管帐户的磁盘空间压力.唯一的问题是文件的URL需要保持不变!
例如,如果外部网站链接到mysite.com/myfiles/image.jpg,我希望该网站上的图像继续顺利运行.
有没有可能的方法来实现这一目标?
谁能告诉我如何使用Uploadify直接上传到Amazon S3?
我的代码如下:
$('#fileInput').uploadify({
'fileDataName' : 'file',
'uploader' : 'uploadify.swf',
'script' : 'http://BUCKET-NAME-GOES-HERE.s3.amazonaws.com/',
'cancelImg' : 'cancel.png',
'method' : 'post',
'auto' : true,
'onError': function (a, b, c, d) {
alert('error '+d.type+": "+d.info + ' name: ' + c.name + ' size: ' + c.size);
},
'scriptData' : {
'AWSAccessKeyId': "KEY-GOES-HERE",
'key': "${filename}",
'acl': "public-read",
'policy': "POLICY-STRING-GOES-HERE",
'signature': "SIGNATURE-GOES-HERE",
'success_action_status': '200'
}
});
Run Code Online (Sandbox Code Playgroud)
我的(未编码的)策略字符串如下所示:
{
"expiration": "2100-12-01T12:00:00.000Z",
"conditions": [
{"acl": "public-read"},
{"bucket": "BUCKET-NAME-GOES-HERE"},
{"success_action_status" : 200},
["starts-with", "$filename", ""], …Run Code Online (Sandbox Code Playgroud) 我正在尝试在iOS的PhoneGap应用程序中实现oAuth身份验证.我遇到了以下问题.我主要是为Google oAuth测试这个,但也试过了LinkedIn,结果也类似:
webView:didFailLoadWithError - -1004:无法连接到服务器.
当我运行的应用程序会出现这种情况无论是 iOS的模拟器或实际的iPhone.
我尝试过的:
有趣的是,当我将"重定向URI"设置为:
http://localhost
Run Code Online (Sandbox Code Playgroud)
..由Google API控制台定义,以及我所经历的所有OAuth实施教程.显然,InAppBrowser代码应该阻止页面加载并获取附加到URL字符串的数据.如果我将重定向交换为Google控制台提供的其他值(urn:ietf:wg:oauth:2.0:oob),它会重定向到实际页面,并指示将代码从输入复制并粘贴到我的URL栏.这在InAppBrowser的上下文中对我没有帮助.
我不知道下一步该尝试什么.有什么建议?
我正在使用PhoneGap和jQuery Mobile.我试图从远程位置获取一些JSON数据,然后用它填充本地WebSQL数据库.这是我的JS功能:
function getLocations() {
var tx = window.openDatabase('csdistroloc', '1.0', 'Distro DB', 1000000);
tx.transaction(function(tx) {
tx.executeSql('DROP TABLE IF EXISTS locations'); //this line works!
tx.executeSql('CREATE TABLE IF NOT EXISTS locations (id, name, address, postalcode, phone, category)'); //this line works!
$.ajax({
url: "http://mydomain.com/api.php",
dataType: 'json',
data: { action: "getlocations" },
success: function(data) {
tx.executeSql("INSERT INTO locations (id, name, address, postalcode, phone, category) VALUES (2,'cheese','232','seven',5,6)"); //this line produces an error
}});
}, dberror, dbsuccess);
}
Run Code Online (Sandbox Code Playgroud)
运行上面的函数会在上面提到的行上给出错误"INVALID_STATE_ERR:DOM Exception 11".当我实际尝试使用返回的JSON数据插入数据时,它会做同样的事情.我也尝试了$ .getJSON技术,结果完全相同.
任何意见,将不胜感激!