Задача состоит в следующем: Страница на сайте состоит из нескольких фреймов (fr1.html, fr2.html, fr3.html). В том случае, если посетитель открывает один из фреймов напрямую (допустим, получив ссылку из поискового каталога), JavaScript проверяет, что фрейм открыт отдельно от остальных фреймов и производит перезагрузку таким образом, чтобы страница показывалась с учетом всех фреймов (открывается файл index.html) . Решаем её следующим образом: Создаём следующий index.html файл:

<html>
<frameset rows="33%,33%,34%">
<frame src="fr1.html" name="fr1">
<frame src="fr2.html" name="fr2">
<frame src="fr3.html" name="fr3">
</frameset>
</html>
Как видим фреймы имеют имена fr1, fr2, fr3. При открытии файла fr1.html нам необходимо произвести проверку открыт этот файл во фрейме или нет. Так как мы знаем, что имя фрейма, куда должен загружаться файл - fr1, то проверку делаем следующим образом:

 if(this.name!="fr1")document.location="index.html"
Т.е. если документ открывается не во фрейме this.name возвращает пустое значение и открывается файл index.html. Вот пример файла fr1.html

<html>
<head>
<script language="JavaScript">
<!--
 if(this.name!="fr1")document.location="index.html"
//-->
</script>
</head>
<body>
 <h1>Это первый фрейм</h1>
</body>
</html>
Соответственно файл fr2.html выглядит следующим образом:

<html>
<head>
<script language="JavaScript">
<!--
 if(this.name!="fr2")document.location="index.html"
//-->
</script>
</head>
<body>
 <h1>Это второй фрейм</h1>
</body>
</html>
Файл fr3.html выглядит следующим образом:

<html>
<head>
<script language="JavaScript">
<!--
 if(this.name!="fr3")document.location="index.html"
//-->
</script>
</head>
<body>
 <h1>Это третий фрейм</h1>
</body>
</html>