Во время разработки проекта этого года я изначально вступил в контакт с мобильной веб -разработкой и изучил HTML5 во время разработки. В основном я использовал мобильные технологии jQuery. Я обнаружил, что это не подходит для интернет -продуктов. Большинство стилей должны быть переписаны, и используются только некоторые функции. Во время разработки веб -сайта мобильного телефона я впервые подвергался функции позиционирования. Благодаря крупным поисковым системам я обнаружил, что позиционирование мобильного телефона проходит через позиционирование браузера. При использовании в браузере ПК подсказка «включить функцию позиционирования» появится впервые. Когда Босс увидел эту подсказку, он почувствовал, что опыт пользователя не был хорошим. Если бы это было не очень хорошо, то я бы просто реализовал это по -другому. Это не имеет большого значения. Лицо Босса резко изменилось, и он сказал: не должно быть такого опыта. Мы делаем это, чтобы спешить и выпустить новые функции как можно скорее.
1. Метод позиционирования веб -сайта мобильного телефона:
Кода -копия выглядит следующим образом:
var getLocation = function (successFunc, errorfunc) {// successFunc получает функцию обратного вызова для успешного позиционирования, ErrorFunc получает вызов неудачное позиционирование
// сначала установить город по умолчанию
var defcity = {
ID: '000001',
Имя: 'Пекин',
Дата: curdatetime () // Получить текущий метод времени
};
// Город по умолчанию
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (defcity), {истекает: 1, path: '/'});
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition (function (position) {
var lat = position.coords.latitude;
var lon = position.coords.longity;
// var map = new bmap.map ("контейнер"); // Создать экземпляр карты
var point = new bmap.point (lon, lat); // Создать координаты точек
var gc = new bmap.geocoder ();
gc.getlocation (point, function (rs) {
var addComp = rs.addresscomponents;
var curcity = {
идентификатор: '',
Имя: addComp.province,
Дата: curdatetime ()
};
// В настоящее время расположен город
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {истекает: 7, path: '/'});
//Alert(Addcomp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street);
if (successfunc! = не определен)
SuccessFunc (addComp);
});
},
функция (ошибка) {
Switch (error.code) {
Случай 1:
предупреждение («Отказ отказался.»);
перерыв;
Случай 2:
оповещение («Информация о местонахождении не может быть получена на данный момент»);
перерыв;
Случай 3:
Alert («Получить время ожидания информации о местонахождении»);
перерыв;
по умолчанию:
оповещение («неизвестная ошибка»);
перерыв;
}
var curcity = {
ID: '000001',
Имя: 'Пекин',
Дата: curdatetime ()
};
// Город по умолчанию
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (curcity), {истекает: 1, path: '/'});
if (errorfunc! = не определен)
errorfunc (error);
}, {timeout: 5000, enableHighaccuracy: true});
} еще {
Alert («Ваш браузер не поддерживает получение информации о геолокации»);
if (errorfunc! = не определен)
errorfunc («Ваш браузер не поддерживает получение информации о геолокации»);
}
};
var showposition = function (position) {
var lat = position.coords.latitude;
var lon = position.coords.longity;
// var map = new bmap.map ("контейнер"); // Создать экземпляр карты
var point = new bmap.point (lon, lat); // Создать координаты точек
var gc = new bmap.geocoder ();
gc.getlocation (point, function (rs) {
var addComp = rs.addresscomponents;
var curcity = {
идентификатор: '',
Имя: addComp.province,
Дата: curdatetime ()
};
// В настоящее время расположен город
$ .cookie ('vpiao_mobile_currentcity', json.stringify (curcity), {истекает: 7, path: '/'});
//Alert(Addcomp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street);
});
};
var showpositionError = function (ошибка) {
Switch (error.code) {
Случай 1:
предупреждение («Отказ отказался.»);
перерыв;
Случай 2:
оповещение («Информация о местонахождении не может быть получена на данный момент»);
перерыв;
Случай 3:
Alert («Получить время ожидания информации о местонахождении»);
перерыв;
по умолчанию:
оповещение («неизвестная ошибка»);
перерыв;
}
var curcity = {
ID: '000001',
Имя: 'Пекин',
Дата: curdatetime ()
};
// Город по умолчанию
$ .cookie ('vpiao_mobile_defaultcity', json.stringify (curcity), {истекает: 1, path: '/'});
};
Предварительное условие состоит в том, чтобы ввести API Baidu: <script src = "http://api.map.baidu.com/api?v=1.4" type = "text/javascript"> </script>
2. Сторона ПК реализует IP Метод:
Используя интерфейс, предоставленный Tencent, это больше не доступно
Кода -копия выглядит следующим образом:
<script type = "text/javascript" src = "http://fw.qq.com/ipaddress"> </script>
<script type = "text/javascript">
document.write (ipdata [0]); // показать IP -адрес
document.write (ipdata [2]); // показать сохранение
document.write (ipdata [3]); // показать город
</script>
Принять интерфейс Sina: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
Метод мультирегионного тестирования: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=127.0.0.1
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
$ .getScript ('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js', function (_result) {
if (remote_ip_info.ret == '1') {
ALERT ('Страна:' + remote_ip_info.country + '<br> провинция:' + remote_ip_info.province + '<br> City:' + remote_ip_info.city + '<br> local:' + remote_ip_info.district + '<br> isp:' + remote_ip_info. remote_ip_info.type + '<br> Другие:' + remote_ip_info.desc);
} еще {
Alert («Информация о сопоставлении IP -адреса не была найдена!»);
}
});
</script>
Интерфейс IP -адреса netease youdao (это должно быть протестировано)
http://www.youdao.com/smartresult-xml/search.s?type=ip&q=ip
Интерфейс запроса Taobao (get)
Кода -копия выглядит следующим образом:
<Скрипт>
var ip = "124.127.108.133";
var url = "http://ip.taobao.com/service/getipinfo.php?ip=" + ip;
$ .getJson (url, function (json) {
var myprovince2 = json.data.area;
var mycity2 = json.data.region;
оповещение («Ваш город есть:» + myProvince2 + mycity2);
});
</script>
Библиотека IP -адреса Pacific
http://whois.pconline.com.cn/?ip=nip Address String]
Кроме того: Google, Sohu и другие интерфейсы предоставляют соответствующие интерфейсы, вы можете попробовать самостоятельно.
Интерфейс запроса IP -адреса Sohu (по умолчанию GBK): http://pv.sohu.com/cityjson
Интерфейс запроса IP-адреса Sohu (можно установить кодирование): http://pv.sohu.com/cityjson?ie=utf-8
Другой интерфейс запроса IP -адреса Sohu: http://txt.go.sohu.com/ip/soip
3. Получить метод IP клиента
Кода -копия выглядит следующим образом:
<Скрипт>
var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + math.random ();
$ .getJson (url, function (data) {
оповещение (data.ip);
});
</script>
Это все сегодня. Есть еще много работы, чтобы завершить. Вы можете попробовать другие интерфейсы, когда у вас есть время. Все могут прийти и предоставить лучшие методы.