Проверка того, включена ли моя страница в iframe

Я хотел бы проверить, включена ли моя страница (php) в iframe или нет, чтобы реализовать другое поведение. Любая идея, как проверить это. Я также использую jQuery, если это помогает.

Дополнение: меня особенно интересует, если бы был способ проверить это на сервере, а не на клиенте с Javascript

Related of "Проверка того, включена ли моя страница в iframe"

Вы можете использовать JavaScript, я думаю, что что-то вроде следующего должно работать:

if (top != self) { // you're in an iframe, or similar. } 

Ссылка на оригинал, мейервеб, статья .


Отредактировано в связи с обновлением вопроса:

Дополнение : меня особенно интересует, если бы был способ проверить это на сервере, а не на клиенте с Javascript

Это не может быть «проверено» на стороне сервера, но вы можете использовать заголовок X-Frame-Options , есть два варианта:

  1. DENY : предотвращает DENY кадра в любом месте (при условии, что браузер поддерживает заголовок X-Frame-Options), или
  2. SAMEORIGIN : позволяет создавать ресурс только на страницах из одного домена, подобно политике JavaScript с одинаковым SAMEORIGIN .

Чтобы использовать это, вам нужно настроить сервер для отправки соответствующего заголовка; хотя конкретные рекомендации для этого нельзя дать, не зная, на каком сервере вы работаете; хотя связанная статья в Центре разработчиков Mozilla показывает параметр Apache.

может быть:

 var isInIFrame = (window.location != window.parent.location) ? true : false; 

Я не знаю, есть ли конкретный JQueryway, но в ванильном javascript вы можете просто;

 if (top != self) alert("framed!") 
 <script language="JavaScript" type="text/javascript"> function InFrame() { if (top.location != location) { //Do whatever you need- your site is in an iframe. //This will redirect to your site if you need to //top.location.href = document.location.href ; // } } </script>