Проверьте, является ли родительское окно iframe или нет.
Как я могу указать на странице внутри iframe, если сам родитель также находится внутри iframe?
Объяснение:
Моя домашняя страница home.html
содержит iframe
<iframe src="sample.html"></iframe>
Мне нужно определить, находится ли home.html
(т.е. родительский элемент sample.html
) внутри iframe.
Код в sample.html
:
if(self==window)
{
alert('home.html is not in iframe');
}
else
{
alert('home.html is in iframe');
}
Мой вопрос не дублируется. Это другой случай.
Ответы
Ответ 1
Это верно, если окно не является фреймом /iframe:
if(self==top)
Если вам нравится видеть, является ли родительское окно данного окна фреймом, используйте:
if(parent==top)
Это простое сравнение top
(самого верхнего окна иерархии окон) и другого объекта окна (self
или parent
).
Ответ 2
Убедитесь, что window.frameElement
не является нулевым и видит, является ли его свойство nodeName "IFRAME":
var isInIframe = window.frameElement && window.frameElement.nodeName == "IFRAME";
Ответ 3
var isInIFrame = (window.location != window.parent.location);
if(isInIFrame==true){
// iframe
}
else {
// no iframe
}