Подняться наверх

Добавить новый отзыв

You are here

Как обнаружить IFrame средствами JavaScript

Данная статья содержит пример JavaScript-кода, который позволяет обнаружить то, что текущая веб-страница загружена внутри HTML-тега IFrame. Основной принцип работы такого  "детектора" заключается в сравнении того, что находится в location.href при загрузке / открытии страницы в вашем интернет-обозревателе а-ля в браузере.

JavaScript обнаружение IFrame

Итак, обнаружить то, что веб-страница загружена из фрейма можно с помощью вот такого вот программного кода на языке JavaScript:

function detect_iframe() {
  var top_location;
  try {
    var top_location = top.location.href;
  }
  catch(e){}
  if (location.href != top_location) {
    alert("Эта страница открыта внутри iframe!");
  }
}
window.onload = detect_iframe;


Данный сниппет нужно вызвать в разметке именно той страницы, которая грузится из фрейма, пример такой page представлен ниже. Итак, содержимое файла "banner.html":

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>Это IFRAME</title>
</head>
<body>
<p>Здесь отображается содержимое фрейма.</p>
<script type="text/javascript">
function detect_iframe() {
  var top_location;
  try {
    var top_location = top.location.href;
  }
  catch(e){}
  if (location.href != top_location) {
    alert("Эта страница открыта внутри iframe!");
  }
}
window.onload = detect_iframe;
</script>
</body>
</html>

Далее собственно разметка основной страницы, содержимое файла "example.html":

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>Как обнаружить запуск внутри IFRAME</title>
</head>
<body>
<p>Этот текст находится вне фрейма.</p>
<iframe src="banner.html">
  В вашем интернет-обозревателе отсутствует поддержка фреймов.
</iframe>
</body>
</html>

Скачать полный пример читатель может во вложении к текущему материалу.

К статье прилагаю: 
AttachmentSize
detect-iframe-example.zip838 bytes

Спонсоры

Работа по заправке картриджа Прошивка чипа принтера . Садовая техника bosch интернет магазин Садовой техники.
Яндекс.Метрика

Использовано памяти на 4.968mb