подсчитать количество уровней вложенности iframe в межсайтовой ситуации - PullRequest
2 голосов
/ 04 февраля 2011

Если моя страница скрыта на глубине нескольких фреймов, можно ли посчитать, сколько я уровней (междоменный)?

(я почти уверен, что ответ "нет".)

Ответы [ 2 ]

3 голосов
/ 04 февраля 2011

Нет, я почти уверен, что нет никакого способа сделать это.

Вы можете попробовать что-то вроде

var current = window;
while (current.parent != current) {
    current = current.parent;
}

, но я подозреваю, что вы потерпите неудачу с несколькими доменами из-за одинаковой политики происхождения .

Может быть, стоит попробовать. Возможно, доступ заблокирован только к содержимому документа, а не к объекту окна.

1 голос
/ 14 июля 2017

Это не количество уровней, но, таким образом, вы можете определить, был ли ваш контент вставлен более одного раза:

if (parent !== window) {
    //I'm iframed once for sure 
}
if (parent !== top) {
    //I'm iframed more than once
}

Протестировано с Chrome 59, Safari 10, Firefox 54, Edge 15, IE11

...