我有一个html5网页,根据移动设备的地理位置显示特定广告。
如何从(旧)浏览器中确定手机上不支持html5(较旧的nokias和blackberrys)的位置?
答案 0 :(得分:0)
您必须使用Geo :: IP等库,根据IP地址对服务器端进行操作。它的准确性要低得多(特别是在移动设备的情况下),但如果浏览器没有给你一个位置,就无法猜测它。
答案 1 :(得分:0)
我假设您可以在网页中使用Javascript。 您可以使用geopoition.js后备技术。还提供特定于设备的解决方案。
因此,您可以从检测HTML5支持开始(而不是假设)
if (Modernizr.geolocation) {
// let's find out where you are!
} else {
// no native geolocation support available :(
// try geoPosition.js or another third-party solution
}
您可以从cdn资源中包含Modernizr库
<script src="modernizr.min.js"></script>
现在使用地理位置,您可以解决方法。
这是github的例子
在头部
<script src="js/geoPosition.js" type="text/javascript" charset="utf-8"></script>
然后这样称呼
<script type="text/javascript">
if(geoPosition.init()){ // Geolocation Initialisation
geoPosition.getCurrentPosition(success_callback,error_callback,{enableHighAccuracy:true});
}else{
// You cannot use Geolocation in this device
}
geoPositionSimulator.init();
// p : geolocation object
function success_callback(p){
// p.latitude : latitude value
// p.longitude : longitude value
}
function error_callback(p){
// p.message : error message
}
您可以参考以下可能对您有用的资源
检测地理位置:http://diveintohtml5.info/detect.html#geolocation 使用Geoposition:github.com/estebanav/javascript-mobile-desktop-geolocation 黑莓的特定资源:tonybunce.com/2008/05/08/Blackberry-Browser-Amp-GPS.aspx
希望这可能会有所帮助