РЕДАКТИРОВАТЬ / ОБНОВИТЬ: Хотя возможно получить доменное имя родительского iframe, я не хотел удалять этот ответ, так как есть некоторая полезная информация для пониманията же политика в отношении доступа к DOM.Ответ Soumya92 доказывает, что iframe в одном домене действительно может извлечь домен родительского домена.
Однако остальная информация о доступе к DOM остается верной.
Оригинальный ответ
К сожалению, это просто пока невозможно в большинстве браузеров, и это определенно невозможно, если оба сайта не дали разрешение другим доменам на доступ к данным каждого домена, установив свойство document.domain
.Даже в этом случае он будет работать только с поддоменами.
Например, foo.example.com
и bar.example.com
могут обращаться к DOM друг друга, если на обеих HTML-страницах установлено значение document.domain
свойство выглядит так:
// allow foo.example.com and bar.example.com to communicate
document.domain = "example.com";
Если вы пытаетесь проверить, является ли www.foo.com
родительским документом, загруженным из www.bar.com
, вы не сможете сделать это, поскольку iframe будетне имеют доступа к top.window
.
Вы можете определить, загружается ли iframe в тот же домен, и использовать полномочия удержания, чтобы определить, что он не загружается из того же домена, когда обнаружена та же ошибка политики домена.
Кроме того, вы не сможете определить какие-либо подробности относительно того, какой домен загружает ваш документ.