Spec-Zone.ru › Web APIs

Запрос: свойство 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

Режим для поддержки навигации. Значение 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 Нет

См. также

  • API для ServiceWorker
  • Управление доступом к HTTP (CORS)
  • HTTP

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API