Как XMLHttpRequest связан с объектом JS Window
Читая на XMLHttpRequest
обнаружил, что он является членом глобального уровня высокого уровня JS window
объект. Например:
if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+ ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE 6 and older
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
Но я не могу подтвердить эту информацию где-либо еще? Я посмотрел здесь https://developer.mozilla.org/en-US/docs/Web/API/Window чтобы посмотреть, смогу ли я найти XMLHttpRequest
объект, но не было никакого упоминания об этом. Я что-то пропустил? Просто хочу убедиться, что я понимаю правильное происхождение XMLHttpRequest
и как это связано с глобальным window
объект.
1 ответ
Решение
Смотрите определение WebIDL для XMLHttpRequest
интерфейс:
[Constructor, Exposed=(Window,DedicatedWorker,SharedWorker)]
interface XMLHttpRequest : XMLHttpRequestEventTarget {
…
}
Так что требует XMLHttpRequest
быть разоблаченным от Window
а также из DedicatedWorker
а также SharedWorker
(в UA, которые фактически реализуют это).