Практика разработки Web-страниц

         

Гиперссылки не загружают страницы в нужный фрейм


В странице с фреймами вы можете решить расположить в одном фрейме ссылки, которые меняли бы отображаемое в другом фрейме – например, навигационную панель, позволяющую посетителю менять страницы, отображаемые в другом фрейме. Или вы можете предусмотреть ссылку, позволяющую посетителям покидать страницу с фреймами.

Но пока вы не укажете иначе, гиперссылка на странице с фреймами будет изменять содержимое собственного фрейма. Чтобы добиться нужного эффекта, надо указать броузеру цель каждой ссылки – фрейм или окно, в которых должна подействовать ссылка. Вам надо прописать некоторые тэги и атрибуты в разных местах; если что-нибудь упустите, ваши ссылки будут изменять не тот фрейм или открывать не то окно.

  1. В тэге <FRAME> каждого фрейма, в который вы хотите загружать страницы, укажите имя, используя атрибут name. Вы будете использовать это имя как цель гиперссылки, загружающей страницу во фрейм. Например, эта строка создает фрейм с названием main:

    <frame src="welcome.htm" name="main">

  2. Фреймы часто используются для навигационных панелей или содержания, позволяющих посетителям изменять страницы, отображаемые в других фреймах. Используя тэг <BASE>, вы можете указать броузеру, что каждая ссылка в вашей навигации должна загружать страницы в определенный фрейм, пока вы не укажете иначе. В разделе <HEAD> страницы с навигацией – не страницы с фреймами – добавьте следующую строку (заменив название фрейма на необходимое вам):

    <base target="main">

    Таким образом, устанавливается целевой фрейм по умолчанию, так что вам не придется указывать цель для каждой гиперссылки.


    Когда вы щелкаете по ссылке в навигационном фрейме слева, вы хотите, чтобы броузер менял страницу в главном фрейме справа и не менял отображаемого в навигационном фрейме

  3. Для отдельных ссылок, которые вы хотите загрузить в определенный фрейм, установите атрибут target в тэге <A>. Следующая ссылка, например, открывает страницу во фрейме с названием right:




    <a href="winds.htm"target="right">High Winds</a>



  4. Если вы ссылаетесь на страницу, не принадлежащую вашей странице с фреймами, например на домашнюю страницу другой компании, вы должны использовать атрибут target, чтобы броузер не загружал страницу во фрейм. Чтобы указать другие страницы, используйте следующие специальные целевые имена _top (чтобы открыть страницу поверх существующих фреймов) или _blank (чтобы открыть страниц в новом окне). Например:

    <a href="homepage.htm"target="_top">Escape the Frames</a>



  5. Если ваша страница использует форму для передачи информации сценарию или программе, например, поле ввода для поиска в навигационном фрейме, вы можете открывать страницу с результатом во фрейме или заменить страницу формы после заполнения страницей с результатом. В тэге <FORM> установите в атрибуте target имя фрейма.

    <form action="search.asp"target="main">



  6. Вы можете решить загружать страницы больше чем в один фрейм за раз. При том, что вы можете указать только одну цель, вы можете использовать простую инструкцию JavaScript, чтобы загружать еще одну страницу в другой фрейм. Например, следующий HTML открывает одну страницу во фрейме main и другую страницу во фрейме adbar (если такой фрейм существует):

    <a href="winds.htm"target="main" onclick="if(parent.adbar)parent.adbar.location=’ad2.htm’">High Winds</a>




Содержание раздела