Перенаправление с отдельно открытого iframe, блокировка открытия в новой вкладке.
Здравствуйте все. В ходе написания сайта возникла пара трудностей, я знаю, что их можно решить с помощью JavaScript, но не знаю где найти эти скрипты.
1.) Я использую iframe, мне нужен скрипт, который будет следить, что бы страница из фрейма не была открыта отдельно. То есть если пользователь попадает на страницу фрейма, то автоматически перенаправляется на страницу, в составе которой находиться этот фрейм. 2.) Я использую плагин, который при нажатии на ссылку эффектно затемняет страницу, а по центру выводит фрейм. Если в Mozilla Firefox кликнуть, «открыть во вкладке», по ссылке вызывающей вот это эффектное открытие, то вместо окна в новой вкладке откроется страница, которая должна отображаться во фрейме. То есть мне нужно заблокировать открытие ссылки в новой вкладке или окне. Если кто знает, подскажите, пожалуйста, или дайте ссылку, где есть эти скрипты. ------------------------------------------------ С уважением, Антон. |
Самое тупое решение:
// код на основной странице window.имя_свойства = true; // код внутри фрейма if(!window.top.имя_свойства){ location.replace('URL на главную страницу'); } Не тестил, но работать должно. |
Ещё можно сравнивать внутри фрейма:
if(window !== window.top){ location.replace('URL на главную страницу'); } Так даже лучше:) |
Цитата:
if (self == top) { |
Спасибо за подсказки!
Я с JS пока ещё не очень хорошо знаком, если можно поподробнее, как эту функцию перенаправления реализовать наилучшим образом. -------------------------------- С уважением, Антон. |
То есть структура такая:
Основная страница: <html> <head> <script type="text/javascript"> window.name = true; </script> </head> </html> Фрейм: <html> <head> <script type="text/javascript"> if(!window.top.name){ location.replace('index.html'); } </script> </head> </html> Правильно? Поправьте, пожалуйста, если не правильно. -------------------------- С уважением, Антон. |
Цитата:
Flashton, всё правильно. Лучше заменить скрипты другими примерами - так будет грамотнее:) |
Спасибо!
Цитата:
-------------------------- С уважением, Антон. |
Код фрейма:
<html> <head> <script type="text/javascript"> if(self == top){ location.replace('index.html'); } </script> </head> </html> |
Спасибо!
-------------------------- С уважением, Антон. |
Часовой пояс GMT +3, время: 18:50. |