Запрос: свойство mode
Базовая Широко доступна *
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2017 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна в Web Workers.
Свойство mode только для чтения интерфейса Request содержит режим запроса (например, cors, no-cors, same-origin, или navigate.) Это используется для определения, приводят ли запросы к различным источникам к допустимым ответам, и какие свойства ответа доступны для чтения.
Чтобы создать запрос с определённым режимом, передайте нужное значение в качестве опции RequestInit.mode конструктору Request.Request().
Обратите внимание, что установка определённых режимов, особенно no-cors, накладывает ограничения на методы и заголовки запроса, которые могут быть использованы, и препятствует доступу JavaScript к заголовкам или телу ответа. Подробнее см. документацию для RequestInit.mode.
Значение
Одно из следующих значений:
same-origin-
Запрещает запросы к различным источникам. Если запрос отправлен к другому источнику с установленным таким режимом, результатом будет ошибка.
no-cors-
Отключает CORS для запросов к различным источникам. Ответ является непрозрачным, что означает, что его заголовки и тело недоступны JavaScript.
cors-
Если запрос отправлен к другому источнику, используется механизм Cross-Origin Resource Sharing (CORS).
-
Режим для поддержки навигации. Значение
navigateпредназначено для использования только в HTML-навигации. Запрос навигации создаётся только при навигации между документами.
Значение по умолчанию
Запросы могут быть инициированы различными способами, и режим запроса зависит от конкретного способа его инициализации.
Например, при создании объекта Request с помощью конструктора Request(), значение свойства mode для этого Request устанавливается в cors.
Однако для запросов, созданных не с помощью конструктора Request(), обычно используется значение no-cors; например, для встроенных ресурсов, где запрос инициируется из разметки, если атрибут crossorigin не указан, запрос в большинстве случаев выполняется с режимом no-cors — то есть для элементов <link> или <script> (за исключением случаев использования модулей), или <img>, <audio>, <video>, <object>, <embed> или <iframe>.
Примеры
В следующем фрагменте кода мы создаём новый запрос с помощью конструктора Request() (для файла изображения в той же директории, что и скрипт), затем сохраняем режим запроса в переменной:
const myRequest = new Request("flowers.jpg");
const myMode = myRequest.mode; // returns "cors" by default
Спецификации
| Спецификация |
|---|
| Fetch # ref-for-dom-request-mode② |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
mode |
40 | 14 | 39 | 27 | 10.1 | 40 | 39 | 27 | 10.3 | 4.0 | 40 |
navigate_mode |
49 | ≤18 | 46 | 36 | 10.1 | 49 | Нет | Нет | 10.3 | 5.0 | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Request/mode