如何使用HTML5在Web浏览器中允许来自其他域的受限资源
跨域资源共享(CORS)是一种允许来自Web浏览器中另一个域的受限资源的机制
假设,如果您在html5演示部分中单击HTML5-视频播放器。它将询问相机许可。如果用户允许该权限,则仅会打开摄像头,否则不会为网络应用程序打开摄像头
在这里,Chrome,Firefox,Opera和Safari都使用XMLHttprequest2对象,而InternetExplorer使用类似的XDomainRequest对象。
function createCORSRequest(method, url) { var xhr = new XMLHttpRequest(); if ("withCredentials" in xhr) { // Check if the XMLHttpRequest object has a "withCredentials" property. // "withCredentials" only exists on XMLHTTPRequest2 objects. xhr.open(method, url, true); } else if (typeof XDomainRequest != "undefined") { //否则,检查XDomainRequest。 //XDomainRequest仅存在于IE中,并且是IE发出CORS请求的方式。 xhr = new XDomainRequest(); xhr.open(method, url); } else { //否则,浏览器不支持CORS。 xhr = null; } return xhr; } var xhr = createCORSRequest('GET', url); if (!xhr) { throw new Error('CORS not supported'); }