API
总述
用户界面(User Interface, UI)允许人类与程序进行交互,而应用程序编程接口(Application Programming Interface,API)则允许程序(包括脚本)彼此沟通。
浏览器:DOM就是API,它允许加载到浏览器中的脚本访问和更新Web页面的内容。
脚本:jQuery是一个包含API的JavaScript文件。它允许你选择元素,然后使用它的方法来使用这些元素。
平台:诸如Facebook、Google和Twitter这样的网站开放了它们的平台,所以可以更新它们储存的数据。
关于API你所要考虑的问题
1.这个API可以做什么
2.如何访问
3.语法
HTML5 JavaScript API
特性检测
在尝试使用对象前最好先检测一下浏览器是否支持,可以通过条件语句来检查浏览器是否支持某个对象。
Modernizr
Modernizr是一段脚本,在使用它之后,它就能告诉你浏览器是否支持HTML、css、JavaScript的某些特性。
Modernizr的工作原理
在页面上引用了Modernizer脚本后,就会添加一个名为Modernizr的对象,该对象能够检测浏览器是否支持你说指定的某些特性。
地理位置API
geolocation对象
geolocation对象用来请求位置数据,它是navigator对象的一个子对象。
方法:getCurrentPosition(success, fail)
返回:请求用户的位置,如果用户允许,返回用户的经纬度及其他位置信息。如果成功则调用success函数,失败则调用fail函数。
Position对象
如果找到了用户的位置,就会向回调函数传递一个Position对象。它包含一个名为coords的子对象,coords的属性包含着用户的位置。如果设备支持geolocation,那么至少会提供一组数据,其他属性是可选的。
PositionError对象
如果没有确定位置,就会向回调函数传递PositionError对象。
var elMap = document.getElementById('loc')
var msg = "Sorry, we were unable to get your location.';
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(succedd, fail);
elMap.textContent = "Checking location...';
} else {
elMap.textContent = msg;
}
fuction success(position) {
msg = '<h3>Longitude:<br>';
msg += position.coords.longitude +'</h3>';
msg += '<h3>Latitude:<br>';
msg += position.coorfs.latitude + '</h3>';
elMap,innerHTML = msg;
}
function fail(msg) {
elMap.textContent = msg;
console.log(msg.code);
}