Основная проблема состоит в том, что если фрейм находится в другом домене, чем контейнер, то ваш JavaScript-код изолирован для песочницы и не может получить доступ к другому фрейму / контейнеру.
Что вы можете сделать, это попробовать сравнить window
с window.top
, и возможные результаты:
1. То же самое -> вы верхнее окно на странице
2. Они не одинаковы -> вы не верхнее окно на странице, есть некоторая страница контейнера, в том же домене, что и ваше окно, которое содержит ваше окно как фрейм или фрейм.
3. Выдается исключение безопасности -> вы не верхнее окно на странице, но верхнее окно принадлежит другому домену, и вы не можете получить к нему доступ.
может быть что-то вроде этого:
try {
if (window == window.top)
return "I'm parent";
else
return "I'm a child of " + window.top.location;
} catch (e) {
return "I'm a child of something from another domain";
}