Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > как убрать # c url


Автор: SadMan 30.9.2010, 20:01
Всем привет)

Мне нужно убрать # c url,
location.hash="" не помагает... помогите ВЫ

Всем спасибо)

Автор: CruorVult 1.10.2010, 09:45
Цитата(SadMan @  30.9.2010,  20:01 Найти цитируемый пост)
Мне нужно убрать # c url,location.hash="" не помагает... помогите ВЫ

Убрать то можно, но прийдется обновлять страницу. Вы уверены что это нужно?

Код

location.href = location.href.replace(location.hash,"");

Автор: SadMan 1.10.2010, 12:08
Цитата(CruorVult @ 1.10.2010,  09:45)
Убрать то можно, но прийдется обновлять страницу. Вы уверены что это нужно?

Я использую технологию Ajax на сайте и мне нужно убрать # не перегружая страницы...
По всей видимоти етого сделать нельзя, но я решыл выдвинуть ету тему здесь, может быть кто то  и знает как ето сделать)

Автор: Amphiluke 1.10.2010, 12:19
SadMan, а откуда (при каких обстоятельствах) появляется знак «#»?

Автор: CruorVult 1.10.2010, 12:24
Цитата(Amphiluke @  1.10.2010,  12:19 Найти цитируемый пост)
а откуда (при каких обстоятельствах) появляется знак «#»

Скорее всего по якорю и выполняются аякс-запросы.

Автор: Amphiluke 1.10.2010, 12:29
Чего-то я не догоняю, может, легче предотвратить появление решетки, вернув false при «переходе по якорю», чем пытаться убрать ее оттуда, когда она уже появилась там? smile

Добавлено через 1 минуту и 28 секунд
Примера (кода) не хватает.

Автор: CruorVult 1.10.2010, 12:45
Amphiluke, По якорю выполняются аякс-запросы. К примеру, по нажатию на ссылку меняется location.hash, скрипт это видит и выполняет нужный запрос по параметрам из location.hash. Так вот, когда не надо якорь(переход на главную страницу), SadMan, хочет убрать "#". На сколько я знаю, без перезагрузки страницы этого не сделать.

Автор: SadMan 1.10.2010, 13:12
Цитата(CruorVult @ 1.10.2010,  12:45)
Так вот, когда не надо якорь(переход на главную страницу)

Все верно Вы понимаете.

Автор: CruorVult 1.10.2010, 13:24
SadMan, да пусть себе валяется тот пустой якорь, кому он сдался. Он же не влияет на работу приложения.

Автор: SadMan 1.10.2010, 16:51
CruorVult
Пусть валяется, но неправельно это немного ;)

Автор: 12345c 6.10.2010, 19:21
history.go(history.length  + histLength);
(где histLength - длина истории в момент, когда впервые ушли на якорь).

Добавлено через 5 минут и 15 секунд
(Сменится, конечно, страница, но без перезагрузки, а восстановить окружение, наработанное аяксом, можно из JS-переменных. Большие костыли, но как ещё?)

Автор: SadMan 13.10.2010, 16:57
Цитата(12345c @ 6.10.2010,  19:21)
history.go(history.length  + histLength);
(где histLength - длина истории в момент, когда впервые ушли на якорь).


Спасибо за вариант, ну я решил не утруждать себе жизнь и просто добавил к якорю #home_page пусть так будет ;)

Автор: waldemarcd 26.10.2011, 12:46
history.pushState("", document.title, window.location.pathname);
можно так попробывать

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