Фреймовый сайт не вызывает у пользователя психологического напряжения 
  в момент очищения ВСЕГО экрана после щелчка по ссылке, что тоже важно, т.к. 
  создаётся впечатление непрерывной работы с сайтом. 
  
  Итак, наряду с недостатками есть и достоинства, которые не позволяют нам отбросить 
  эту технологию как бесперспективную. Оказывается, можно справиться с главными 
  недостатками фреймов. Конечно, решение не является универсальным, но часто бывает 
  незаменимо. 
  Главная проблема, которую надо решить — целостность отображения фреймового 
    сайта при переходе к нему по ссылке из поисковика. Для этого надо создать 
    небольшой файл с программой, написанной на языке JavaScript, в который передаётся 
    URL, по которому загружается страница. Скрипт перезаписывает загруженный документ 
    описанием фреймов с именами DATA и NAV. 
  frames.js
    function CreateFrames(URL)
    { if (window.name != "DATA") // Проверка на загружаемость файла 
    в "неправильном" месте
    { document.write("<frameset cols='20%,*'>")
    document.write("<frame name='NAV' src='nav.html'>")
    document.write("<frame name='DATA' src='" + URL + "?'>") 
    
    document.write("</frameset>")
    }
    }
  Знак вопроса нужен для того, чтобы браузер получил данные с сервера, а не 
    вывел только что загруженную страницу. 
    Далее на каждой странице надо поместить между тегами <head></head>следующий 
    код: 
  <script language="JavaScript" src="frames.js"></script>
    <script language="JavaScript">
    CreateFrames(document.URL);
    </script>
  Корректную загрузку всех страниц по ссылке с атрибутом target в данной ситуации 
    обеспечит следующая строка: 
    <a href="url.html?" target="DATA">Документ</a>
  Знак вопроса обязателен по уже известной причине.