Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Вопрос по навигации в iframe, JavaScript


Автор: Nechto 8.1.2010, 11:57
Всем привет. С новым годом.

У меня к вам вопрос. Как эти перци из google смогли реализовать такую навигацию в Gmail?

особенно интересует как они получили такого вида адресную строку

http://mail.google.com/mail/?hl=ru&shva=1#settings/labels

я не понимаю как они используя 3 iframe организавали такую адресацию.

И ещё как они отследили всю историю кнопок Назат/Вперёд.


Автор: bars80080 8.1.2010, 12:22
а что не так? добавление якоря, делается вроде через

window.location.hash = 'settings/labels';

при выборе соответствующей вкладки

подъём по фреймам, тоже не проблема. верхнее окно:

top.window.location.hash

на уровень выше - parent

Автор: Nechto 8.1.2010, 12:36
Таким образом я поднимаю фрейм

Код

<a href="switch_on.php?id=1#get" id="link_1" onClick="return url_L()" target="main_frame">One</a>
<script type="text/javascript">
function url_L(){
     window.parent.window.location.hash = "?id=1/get";
     return true; 
    }
</script>


и адресная строка выходит такая http://localhost/platforma/#?id=1/get  .
Почему-то якорь ставитя автоматически перед  php знаком  ?.

 

Автор: bars80080 8.1.2010, 15:06
hash - это якорь, чтоб ты в него не записал, пусть даже знак вопроса. в данном случае он значит только знак вопроса

чтобы поставить get-параметры, следует изменить другое свойство объекта location, какое уже не вспомню, потому что им никто не пользуется.
а не пользуются по той причине, что изменение get-параметров влечёт за собой перезагрузку страницы. поэтому если надо изменить, то меняют свойство href:

window.location.href = '?id=5';
или
window.location.href = 'http://server.ru/page.php?id=5';

дальнейшие действия смысла не имеют, так как страница пойдёт на перезагрузку.
что там в гугле происходит - я не знаю, но если страница не перезагружается, значит они не меняют get-параметры. если перезагружаются только фреймы, значит меняют либо свойство href окна фрейма, либо свойство src фрейма (в данном случае, суть одно и то же)

Автор: Nechto 8.1.2010, 16:13
bars80080. Видемо я не правильно изложил что мне надо!

 то что написано после #, я разобрался это якорь(эмулятор перезагрузки страницы). 

Дело в том что я работаю с jquery iframe и php. И хочу сделать сайт который работал только на подгрузке кусков кода (короче чтобы вся страница вообще не перезагружалась). Вот тут и возникла проблема, стандартная навигация кнопками Браузера: Назад, Вперёд, Обновить.

Автор: 12345c 9.1.2010, 11:48
http://forum.vingrad.ru/forum/topic-81547/unread-1.html

Т.е. не в IE проблем нет, в IE решаются через фрейм.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)