Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Cách cho phép tài nguyên bị hạn chế từ miền khác trong trình duyệt với HTML5

Chia sẻ tài nguyên đa nguồn (CORS) là cơ chế cho phép tài nguyên bị hạn chế từ miền khác trong trình duyệt web.

Ví dụ, khi bạn click vào trình phát video HTML5 trong các mục demo. Nó sẽ hỏi quyền camera. Nếu người dùng cho phép thì mới mở camera cho ứng dụng web.

Chrome, Firefox, Opera và Safari dùng đối tượng XMLHttpRequest2, Internet Explorer dùng XDomainRequest tương tự.

function createCORSRequest(method, url) {
  var xhr = new XMLHttpRequest();
  if ("withCredentials" in xhr) {
    // Kiểm tra XMLHttpRequest có property "withCredentials"
    // "withCredentials" chỉ tồn tại trên XMLHTTPRequest2 objects.
    xhr.open(method, url, true);
  } else if (typeof XDomainRequest != "undefined") {
    // Nếu không, kiểm tra XDomainRequest.
    // XDomainRequest chỉ tồn tại trong IE, cách của IE làm CORS request.
    xhr = new XDomainRequest();
    xhr.open(method, url);
  } else {
    // Ngược lại, CORS không được hỗ trợ bởi trình duyệt.
    xhr = null;
  }
  return xhr;
}
var xhr = createCORSRequest('GET', url);
if (!xhr) {
  throw new Error('CORS not supported');
}