Au cours du développement du projet de cette année, je suis initialement entré en contact avec le développement Web mobile, et j'ai appris HTML5 pendant le développement. J'ai principalement utilisé la technologie mobile jQuery. J'ai trouvé que cela ne convient pas aux produits Internet. La plupart des styles doivent être réécrits et seules certaines fonctions sont utilisées. Pendant le développement du web de téléphone mobile, j'ai été exposé à la fonction de positionnement pour la première fois. Grâce aux principaux moteurs de recherche, j'ai constaté que le positionnement du téléphone mobile se fait par le positionnement du navigateur. Lorsqu'elle est utilisée sur le navigateur PC, l'invite "s'il faut activer la fonction de positionnement" apparaîtra pour la première fois. Lorsque Boss a vu cette invite, il a estimé que l'expérience de l'utilisateur n'était pas bonne. Si ce n'était pas bon, je le mettrais simplement en œuvre d'une autre manière. Ce n'est pas un gros problème. Le visage du patron a radicalement changé, et il a dit: Il ne devrait pas y avoir une telle expérience. Nous le faisons pour se précipiter et publier de nouvelles fonctionnalités dès que possible.
1. Méthode de positionnement du Web du téléphone mobile:
La copie de code est la suivante:
var getLocation = function (SuccessFunc, errorFunc) {// SuccessFunc obtient la fonction de rappel pour un positionnement réussi, ErrorFunc obtient le positionnement échoué de rappel
// Définit d'abord la ville par défaut
var défcity = {
ID: '000001',
Nom: «Pékin»,
Date: curdatetime () // Obtenez la méthode d'heure actuelle
};
// Ville par défaut
$ .cookie ('vpiao_mobile_defaultCity', json.stringify (defcity), {expire: 1, chemin: '/'});
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition (fonction (position) {
var lat = position.coords.Latitude;
var lon = position.coords.longitude;
// var map = new bmap.map ("conteneur"); // Créer une instance de carte
var Point = new Bmap.point (lon, lat); // Créer des coordonnées ponctuelles
var gc = new bmap.geocoder ();
gc.getLocation (point, fonction (rs) {
var addcomp = Rs.AddressComponents;
var curcity = {
identifiant: '',
Nom: addcomp.province,
Date: curdatetime ()
};
// Ville actuellement située
$ .cookie ('vpiao_mobile_currentCity', json.stringify (curcity), {expires: 7, chemin: '/'});
//alert(addcomp.province + "," + addcomp.city + "," + addcomp.district + "," + addcomp.street);
if (SuccessFunc! = Undefined)
SuccessFunc (addComp);
});
},
fonction (erreur) {
commutateur (error.code) {
Cas 1:
alerte ("Service de localisation refusé.");
casser;
Cas 2:
alerte ("Les informations de localisation ne peuvent pas être obtenues pour le moment.");
casser;
Cas 3:
alert ("Obtenir le délai d'expiration des informations de localisation.");
casser;
défaut:
alert ("Erreur inconnue.");
casser;
}
var curcity = {
ID: '000001',
Nom: «Pékin»,
Date: curdatetime ()
};
// Ville par défaut
$ .cookie ('vpiao_mobile_defaultCity', json.stringify (curcity), {expire: 1, chemin: '/'});
if (errorfunc! = Undefined)
errorFunc (error);
}, {timeout: 5000, activerHighFactuatie: true});
} autre {
alert ("Votre navigateur ne prend pas en charge l'obtention d'informations de géolocalisation.");
if (errorfunc! = Undefined)
ErrorFunc ("Votre navigateur ne prend pas en charge l'obtention d'informations de géolocalisation.");
}
};
var showPosition = fonction (position) {
var lat = position.coords.Latitude;
var lon = position.coords.longitude;
// var map = new bmap.map ("conteneur"); // Créer une instance de carte
var Point = new Bmap.point (lon, lat); // Créer des coordonnées ponctuelles
var gc = new bmap.geocoder ();
gc.getLocation (point, fonction (rs) {
var addcomp = Rs.AddressComponents;
var curcity = {
identifiant: '',
Nom: addcomp.province,
Date: curdatetime ()
};
// Ville actuellement située
$ .cookie ('vpiao_mobile_currentCity', json.stringify (curcity), {expires: 7, chemin: '/'});
//alert(addcomp.province + "," + addcomp.city + "," + addcomp.district + "," + addcomp.street);
});
};
var showPositionError = fonction (erreur) {
commutateur (error.code) {
Cas 1:
alerte ("Service de localisation refusé.");
casser;
Cas 2:
alerte ("Les informations de localisation ne peuvent pas être obtenues pour le moment.");
casser;
Cas 3:
alert ("Obtenir le délai d'expiration des informations de localisation.");
casser;
défaut:
alert ("Erreur inconnue.");
casser;
}
var curcity = {
ID: '000001',
Nom: «Pékin»,
Date: curdatetime ()
};
// Ville par défaut
$ .cookie ('vpiao_mobile_defaultCity', json.stringify (curcity), {expire: 1, chemin: '/'});
};
La condition préalable consiste à introduire l'API baidu: <script src = "http://api.map.baidu.com/api?v=1.4" type = "text / javascript"> </ script>
2. PC Side implémente la méthode IP:
En utilisant l'interface fournie par Tencent, ce n'est plus disponible
La copie de code est la suivante:
<script type = "text / javascript" src = "http://fw.qq.com/ipaddress"> </ script>
<script type = "text / javascript">
document.write (ipdata [0]); // Afficher l'adresse IP
Document.Write (ipdata [2]); // Afficher la sauvegarde
Document.Write (ipdata [3]); // montre la ville
</cript>
Adoptez l'interface SINA: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
Méthode de test multi-région: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
La copie de code est la suivante:
<script type = "text / javascript">
$ .getscript ('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', fonction (_result) {
if (reote_ip_info.ret == '1') {
alert ('country:' + rote_ip_info.country + '<br> province:' + redress + '<br> Autres:' + Remote_ip_info.desc);
} autre {
alert («Aucune information d'adresse IP correspondante n'a été trouvée!»);
}
});
</cript>
Interface d'adresse IP NetEase Youdao (ceci doit être testé)
http://www.youdao.com/smartrelt-xml/search.s?type=ip&q=ip Adresse
Interface de demande Taobao (GET)
La copie de code est la suivante:
<cript>
var ip = "124.127.108.133";
var url = "http://ip.taobao.com/service/getipinfo.php?ip=" + ip;
$ .getjson (url, fonction (json) {
var myprovince2 = json.data.area;
var myCity2 = json.data.region;
Alert ("Votre ville est:" + myprovince2 + myCity2);
});
</cript>
Interface API de la bibliothèque d'adresses IP du Pacifique
http://whois.pconline.com.cn/?ip=[ip Address String]
De plus: Google, Sohu et d'autres interfaces fournissent des interfaces correspondantes, vous pouvez l'essayer vous-même.
Interface de requête de l'adresse IP SOHU (par défaut GBK): http://pv.sohu.com/cityjson
Interface de requête d'adresse IP SOHU (Encoding peut être défini): http://pv.sohu.com/cityjson?ie=utf-8
L'autre interface de requête d'adresse IP de Sohu: http://txt.go.sohu.com/ip/Soip
3. Obtenez la méthode IP du client
La copie de code est la suivante:
<cript>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + math.random ();
$ .getjson (url, fonction (data) {
alert (data.ip);
});
</cript>
C’est tout aujourd'hui. Il y a encore beaucoup de travail à terminer. Vous pouvez essayer d'autres interfaces lorsque vous avez le temps. Tout le monde est invité à venir fournir de meilleures méthodes.