使用 Ajax / JQuery / PhoneGap 重定向
Posted
技术标签:
【中文标题】使用 Ajax / JQuery / PhoneGap 重定向【英文标题】:Redirect with Ajax / JQuery / PhoneGab 【发布时间】:2016-04-01 23:20:53 【问题描述】:我在第一次使用 PhoneGab,但出了点问题......
当我在 之前收到“数据”(来自 PHP 的 json 响应时,我很喜欢使用 window.location.href 方法Ajax 请求(跨域))。
但是当我在我的手机(android)上测试这个想法时,重定向不起作用......
ps:在网络浏览器上通常一切都很好。
有人发现问题了吗?
这是我的代码:
<html> <head>
<title>Ajax Cross-Origin</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.1.js"></script>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<link rel="stylesheet" href="css/bootstrap/css/bootstrap.min.css" /> </head>
<body>
<div id="body-inside" data-role="page">
<div class="logo-inside">
<a href="index.html" class="connexionForm">
<span id="arrowLeft" class="glyphicon glyphicon-triangle-left" aria-hidden="true"></span>
</a>
</div>
<div class="titre"><h1 id="inscTitle">Inscription</h1></div>
<form class="FormInscription" method="POST">
<label>Nom</label>
<input type="text" name="nom" id="nom" placeholder="nom"/>
<label>Prénom</label>
<input type="text" name="prenom" id="prenom" placeholder="prénom"/>
<label>Email</label>
<input type="email" name="email" id="email" placeholder="xyz@email.com"/>
<label>Mot de passe</label>
<input type="password" name="password1" id="mdp1" placeholder="xxx123"/>
<label>Confirmer votre mot de passe :</label>
<input type="password" name="password2" id="mdp2" placeholder="xxx123"/>
<button id="saveLogin" >
Suivant
</button>
</form>
</div>
<script type="text/javascript">
function redirect()
window.location.href = "inscription_suite.html";
$(function()
$( '#saveLogin' ).click(function()
var nom = $("#nom").val();
var prenom = $("#prenom").val();
var email = $("#email").val();
var mdp1 = $("#mdp1").val();
var mdp2 = $("#mdp2").val();
$.post( "http://webawards.io/data.php",
firstname : nom,
lastname : prenom,
mail : email,
pass1 : mdp1,
pass2 : mdp2
,function( data )
if(data!=="false")
sessionStorage.setItem("id", data);
redirect();
else if(data=="false")
alert("Une erreur semble s'être produite, veuillez réessayer");
);
);
); </script>
</body> </html>
【问题讨论】:
您知道Google and Apple frown on apps 都是网站包装器吗?此外,最佳做法是将网页放在设备上。 杰西是对的。这就是为什么 Google 和 Apple 添加了“添加到主屏幕”选项,用户可以在其中将您的网页直接添加到他们的主屏幕。 【参考方案1】:更新的 cordova 版本不允许您通过 javascript 重定向。您需要按照说明进行操作才能使 javascript 重定向工作。
在您的 config.xml 中添加“Cordova Whitelist Plugin”
<gap:plugin name="cordova-plugin-whitelist" spec="1.1.0" />
或者干脆
<plugin name="cordova-plugin-whitelist" spec="1.1.0" />
尝试将以下内容放入您的 config.xml
<content src="index.html" />
是源目录中 HTML 文件的路径。
<access origin="*" />
将允许您使用 JS 重定向到任何外部页面。如果您想将您的应用程序限制在单个域中,请像这样使用它。
<access origin="http://yourdomain.com" />
最后,输入以下意图
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
【讨论】:
以上是关于使用 Ajax / JQuery / PhoneGap 重定向的主要内容,如果未能解决你的问题,请参考以下文章