Поделитесь идеями как изменять адрес в строке адреса без перезагрузки

Кощей

if(!$needle) die("ooh");
Поделитесь идеями как изменять адрес в строке адреса без перезагрузки

Можно ли изменить строку адреса, во всех юраузерах неперегружая страницу одним ява-скриптом ?
 

Кощей

if(!$needle) die("ooh");
Не фишинг, я хочу некоторые части сайта на аякс повесить но с возможностью передать каждю страницу ввиде ссылки
 

phprus

Moderator
Команда форума
Кощей
Строку адреса изменить без перезагрузки нельзя, но без перезагрузки страницы можно изменять якорь (то, что идет после #). При его изменении браузеры не будут перезагружать страницы. Его можно изменить например так: location.hash = "section3" (Символ # включать не надо)
 

Кощей

if(!$needle) die("ooh");
phprus
Cпасибо, про якорь я думал. Можно его обрабатывать при открытии страницы и формировать то что пользователь видел при копировании данной ссылки, но вот я не знаю, у меня сейчас ссылки по класическому типу и они очень хорошо индексируються поисковиками, а вот в даном случае не знаю будет ли гугл считать слова после якоря как принадлежащие к странице.
 

phprus

Moderator
Команда форума
Скорее всего не будет, по этому твой сайт должен работать и с отключенным JavaScript, а именно все ссылки должны быть разными и рабтающими по отдельности, но на них должны быть навешаны события onklick, которые если js включен будут выполняться, подгружать данные и отменять переход по ссылке.
 

Кощей

if(!$needle) die("ooh");
phprus
Это да согласен, у меня ссылки есть нормальные но онклик стоит событие аякс которое загружает в div нужный фрагмент и отправлеет false чтобы браузер по ссылке непошел, еслиже нет поддержки ява-скрипта браузер пойдет по ссылке, там страница идентична тойже что сгенерировал бы аякс.

Думаю можно так делать, поисковики ведь будут по таким ссылкам ходить, а люди по аяксу

-~{}~ 09.09.07 12:45:

А как словить значение якоря кстати ?

-~{}~ 09.09.07 12:57:

Проблемма, если я использую location.hash = то false уже несрабатывает и браузер переходит по ссылке которая указана в href
 
Сверху