Убийца фреймов !

Это не зверь и не злой мутант! Это убийца фреймов!
- Кого?
- Фреймов !
- Понятно... :-(




Ну надеюсь все знают, что такое фрейм. Для тех, кто не знает, попытаюсь довести. Фреймы (frames - кадры) впервые появились в HTML в программе-браузере Netscape Navigator 2.0, они позволяют разбить страницу на независимые (даже с прокруткой окна) окна, выводящие свою информацию. Чем то кадры даже похожи на таблицы, так ка они тоже служат для организации данных на HTML страницах. Однако, в отличие от таблиц, кадры не только организовывают данные, но и размещают их на экране монитора. Фактически они делят окно браузера на отдельные независимые панели, каждая из которых выводит свой файл. Что-то наподобии мини-браузеров. Это хорошо видно на примере нашего журнала - слева один узкий кадр для отображения меню, справа большой кадр для статей. Это очень полезно в данном случае, так как облегчается моя работа над самим журналом. Странички со статьями лежат в отдельных файлах и легко отображаются в кадре.


Итак, в фрейм можно выводить любую страницу, где бы она не находилась. Например, можно сделать такое же меню, которое бы грузило в правый кадр какие-нибудь сайты. Этим часто пользуются многие ленивые и жадные люди, которые хотят иметь большой сайт с большим количеством посещений и обеспечить себе большой зароботок на баннерной рекламе. Также часто крутят обычные счётчики посещений. Фактически, их сайты ничего не содержат кроме ссылок с загрузкой в правый кадр (не важно какой, нижний верхний, левый и т.д.). Приходя на такой сайт, посетитель думает получить нормальную информацию, а получает нужный ему сайт в кадре сайта хитреца. Таким образом хороший сайт теряет свою привлекательность, а сайт обманщик получает ненадолго посетителя, который ходит по меню.


Возникают вопросы. Как защитить свой сайт? Что нужно сделать, чтобы его не смогли загрузить в чьём-то фрейме (использовать нахаляву Ваш труд)? Можно ли это сделать? Ответ: можно, ещё как можно и нужно ! А реализуется всё с помощью обыкновенного JAVA - скрипта:

:-) Евгений Жданов protoplex.com-->

setTimeout ("Killer()", 500);
function Killer()
{
if (self.parent.frames.length != 0)
if (self.parent.location != document.location)
{self.parent.location=document.location};
}


Что делает скрипт? Раз в полсекунды (вместо 500 можно поставить другое значение) функция проверяет, загружена ли страница в каком-нибудь фрейме. Если загружена, то она просто сбрасывает с себя этот фрейм и занимает всю клиентскую область браузера. При установке данного скрипта на свой сайт учитывайте, что он и Ваши фреймы будет убивать, если Вы их используете. Та страница, на которой стоит этот скрипт не может долго задержаться во фрейме. В данном случае фрейм будет уничтожен через полсекунды после загрузки в него страницы со скриптом-убийцей. Кстати, этот код стоит на мультипортале. Просто была попытка отображать его в кадре чужого сайта. Попытка была пресечена этим скриптом. Я взял исходник из HTML-редактора 1st Page 2000, однако пришлось его слегка модифицировать, так как оригинальная версия просто убивала кадры каждые 3 секунды, даже не определяя, в кадре она или нет. Это вызывало лишние перезагрузки страницы, пришлось ставить проверку. Теперь скрипт полностью приспособлен к российским условиям Вставляйте его на свои сайты и пользуйтесь на здоровье.

 

 
Воскресенье, 26.05.2019 | Copyright © 2000 - 2019

Яндекс.Метрика