zizan |
|
Полное имя: Нет данных
Ранг: Подполковник
ICQ: Нет данных
Skype: Нет данных
Вконтакте: Нет данных
Профиль
Написать ЛС
Лучшая рип студия
| Можно использовать скрипт, просто перенаправляющий на фреймсет (из предыдущей версии FAQ), но гораздо грамотнее сделать так, чтобы пользователю не пришлось отом долго лазить по меню в поисках нужной странички.
Пусть http://www.myserver.com/dir/frameset.html - это фреймсет, в котором есть два фрейма: menu.html - меню, main - рабочее окно для main.html, 1.html, 2.html и т.д.
В случае, если фреймсет и вызванная страничка лежат на одном сервере, то в <head> нужно вставить такой скрипт:
<script language="JavaScript" type="text/javascript"> <!-- if (parent==self || parent.location.pathname!='/dir/frameset.html') { var framesetURL='/dir/frameset.html?main='+ escape(self.location.href) if (typeof(location.replace)!='undefined') { self.location.replace(framesetURL) //этот метод из JS1.1 грамотнее, чем простой редирект, потому что //не засоряет history. } else self.location=framesetURL; } //--> </script>
В случае, если вызванная страничка и фреймсет расположены на разных серверах, то скрипт будет такой:
<script language="JavaScript" type="text/javascript"> <!-- var parentURL=''; with (parent.location) parentURL=protocol+'//'+hostname+pathname; if (parent==self || parentURL!='http://www.myserver.com/dir/frameset.html') { var framesetURL='http://www.myserver.com/dir/frameset.html?main='+ escape(self.location.href) if (typeof(location.replace)!='undefined') { self.location.replace(framesetURL) } else self.location=framesetURL; } //--> </script>
Если у вас на сервере работает CGI, PHP, или ASP, то фреймсет должен взять пришедший параметр $main и указать его в качестве src для фрейма main.
Если это невозможно (страничка лежит на халявном серваке), то во frameset.html в <head> нужно поставить:
<script language="JavaScript" type="text/javascript"> <!-- function loadMain() { var mainPos=location.search.indexOf('main=')+5; if (mainPos>4) { var mainURL=location.search.substring(mainPos,location.search.length); if (mainURL.indexOf('&')>-1) { mainURL=mainURL.substring(0,mainURL.indexOf('&')) } mainURL=unescape(mainURL); if (typeof(location.replace)!='undefined') { self.frames.main.location.replace(mainURL) } else self.frames.main.location.href=mainURL } } //--> </script>
А в тег <frameset> нужно прописать параметр: onload="loadMain();"
Тогда при внешней ссылке на 1.html или наборе в строке браузера http://www.myserver.com/dir/1.html откроется фреймсет, и в нужный фрейм автоматически загрузится 1.html.
|
|
Offline |
|
| |