Document.domain

Свойство domain у Document интерфейса получает/устанавливает доменную часть источника происхождения (origin) текущего документа, используется в политике ограничения домена (same origin policy).

Синтаксис

var domainString = document.domain;
document.domain = string;

Значение

Доменная часть источника происхождения (origin) текущего документа.

Исключения

SecurityError
An attempt has been made to set domain under one of the following conditions:
  • The document is inside a sandboxed <iframe>
  • The document has no browsing context
  • The document's effective domain is null
  • The given value is not equal to the document's effective domain (or it is not a registerable domain suffix of it)
  • The document-domain Feature-Policy is enabled

Examples

Getting the domain

For the URI http://developer.mozilla.org/en-US/docs/Web, this example sets currentDomain to the string "developer.mozilla.org".

var currentDomain = document.domain;

Closing a window

If a document, such as www.example.xxx/good.html, has the domain of "www.example.xxx", this example attempts to close the window.

var badDomain = "www.example.xxx";

if (document.domain == badDomain) {
  // Just an example: window.close() sometimes has no effect
  window.close();
}

Замечания

Свойство возвращает null если домен документа не может быть идентифицирован, хотя теперь это изменилось с Firefox 62 - смотри обсуждение в баг 819475.

Mozilla позволит вам установить его в супердомен текущего значения, ограниченный его  базовым доменом. Например, на developer.mozilla.org возможно установить его как "mozilla.org" но не как  "mozilla.com" или "org".

Если это свойство успешно установленно, портовая часть источника так же уставнавливается на нуль.

Mozilla отличает свойство document.domain, которое никогда не было установлено от явно утановленного такого же домена как в URL документа, хотя свойство возвращает одинаковое значение в обоих случаях. Один документ разрешает доступ к другому, если они оба установили document.domain в одинаковое значение, указывая тем самым на их намерение сотрудничать или ни один из них не установил document.domain, а домены в URL-адресах одинаковые (реализация). Если бы не эта специальная политика, то каждый сайт будет подвержен XSS от своих поддоменов (для примера https://bugzilla.mozilla.org может быть атакован с помощью заведения багов (bug attachments) на https://bug*.bugzilla.mozilla.org).

Спецификации

Спецификация Статус Комментарий
HTML Living Standard
Определение 'Document.domain' в этой спецификации.
Живой стандарт  
Unknown
Определение 'Document.domain' в этой спецификации.
Неизвестно  

Совместимость с браузерами

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
domainChrome Полная поддержка 1Edge Полная поддержка 12Firefox Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания From Firefox 62, if the domain cannot be identified, domain returns an empty string instead of null. See bug 819475.
IE ? Opera Полная поддержка ДаSafari Полная поддержка ДаWebView Android Полная поддержка ДаChrome Android Полная поддержка ДаFirefox Android Полная поддержка Да
Замечания
Полная поддержка Да
Замечания
Замечания From Firefox 62, if the domain cannot be identified, domain returns an empty string instead of null. See bug 819475.
Opera Android Полная поддержка ДаSafari iOS Полная поддержка ДаSamsung Internet Android ?

Легенда

Полная поддержка  
Полная поддержка
Совместимость неизвестна  
Совместимость неизвестна
Смотрите замечания реализации.
Смотрите замечания реализации.

Смотрите также