Phonegap et jquery mobile : a href -> Origine null n'est pas autorisé par Access-Control-Allow-Origin
Im essayant d'utiliser jquery mobile avec phonegap, dans un document de plusieurs pages.
Tring à l'utilisation de base href liens dans le document, qui donne la Origine null n'est pas autorisé par Access-Control-Allow-Origin erreurs, ce qui est assez ennuyeux.
C'est parce que la page d'index est référencé par le fichier://au lieu de http://webkit interprète comme origine la valeur null. Quiconque a jquery mobile et phonegap pour travailler dans un environnement multi page d'environnement? si oui, comment pouvez-vous le faire? Si vous ajouter rel=externes aux href tags les liens fonctionnent, mais bien sûr, toutes les transitions sont perdus.
Peux pas trouver des infos sur ce problème spécifique sur un débordement de pile ou teh internetz.
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
$(document).bind( "mobileinit", function(){
//alert("mobileinit fired");
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});
</script>
<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
<script type="text/javascript">
function onDeviceReady() {
navigator.network.isReachable("google.com", reachableCallback, {});
}
//Check network status
function reachableCallback(reachability) {
//There is no consistency on the format of reachability
var networkState = reachability.code || reachability;
var states = {};
states[NetworkStatus.NOT_REACHABLE] = 'No network connection';
states[NetworkStatus.REACHABLE_VIA_CARRIER_DATA_NETWORK] = 'Carrier data connection';
states[NetworkStatus.REACHABLE_VIA_WIFI_NETWORK] = 'WiFi connection';
if (networkState != 0) online = true;
}
var online = navigator.onLine || false;
$(document).ready(function() {
$(document).bind('deviceready', function(){
onDeviceReady()
})
//Your main code
})
//Now if you about to make an AJAX call to load up some dynamic data, you can easily check to see if you're online
if(online) {
} else {
}
</script>
</head>
<body>
<h1>Welcome to PhoneGap</h1>
<a href="edit.html">Edit html</a>
</body>
</html>
OriginalL'auteur user1092194 | 2011-12-11
Vous devez vous connecter pour publier un commentaire.
Voici la la documentation officielle sur la façon de faire exactement ce que vous cherchez...
Espérons que cette aide!
avez-vous essayé la norme JQM façon de faire cela, c'est à dire
<a href="edit.html" data-role="button" data-transition="flip">flip</a>
?Toutes les réponses sont fausses. Le premier ne répond pas, dit juste "Recherche" Et la deuxième réponse ne précise pas s'ils le veulent, externe ou ajax chargement de page, et la question dit qu'ils veulent des transitions, puis, externe n'est pas une solution.
J'ai essayé avec plusieurs demandes de page. si vous êtes ciblage de l'application ci-dessus JELLY_BEAN API(Niveau 16), voici ce que vous pouvez ajouter à la classe MainActivity. si (android.os.Construire.VERSION.SDK_INT >= android.os.Construire.VERSION_CODES.JELLY_BEAN) { super.appView.getSettings().setAllowUniversalAccessFromFileUrls(true); } ce Qui permettra null origine XHR demandes.
OriginalL'auteur Leon
Leon commentaire est la bonne réponse, vous devez ajouter
à des liens statiques.
OriginalL'auteur Hoser
Pour Tester
OriginalL'auteur baybora.oren
Je pense que vous trouverez la solution ici: http://view.jquerymobile.com/master/demos/faq/how-configure-phonegap-cordova.php
$.mobile.allowCrossDomainPages = true;
$.support.cors = true;
$.mobile.phonegapNavigationEnabled = true
Bien que je n'ai pas eu à le faire fonctionner, je pense qu'ici, sont la solution.
OriginalL'auteur eMarine
si vous êtes ciblage de l'application ci-dessus JELLY_BEAN API(Niveau 16), voici ce que vous pouvez ajouter à la classe MainActivity.
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) {
super.appView.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
Qui permettra null origine demandes XHR.
OriginalL'auteur Chandan C