Вход

Просмотр полной версии : location.hash убрать #


avaVusal
04.07.2012, 13:11
Здравствуйте, я пишу ajax приложение, при отправке ajax запросов в location.hash добавляется часть url данной страницы. Код такой:


...
location.hash = '/music';
...


Данный код в location.hash добавляет также #, то есть получается url вида:

domain.com/#/music

Мне надо чтоб было : domain.com/music - без перегрузки страницы.

Помогите пожалуйста. На vk.com это реализовано, я смотрел их код там есть такой момент :



window.locHash = location.hash.replace('#/', '').replace('#!', '');
window.locBase = location.toString().replace(/#.+$/, '');



но у меня это не сработало.

Заранее спасибо. :)

Deff
04.07.2012, 13:16
Hash = location.hash;
Hash = Hash.substring(2)

devote
04.07.2012, 13:17
history.pushState смотрите ссылку в моей подписи ниже, про HTML5 History API

devote
04.07.2012, 13:26
avaVusal,
я уже написал тебе решение выше, именно оно и реализовано на таких сайтах как вконтакт и других.

avaVusal
04.07.2012, 13:27
Hash = location.hash;
Hash = Hash.substring(2)

ваш пример возвращает строку, которая запоминается в переменной Hash, это к url никакого отношения не имеет.

Deff
04.07.2012, 13:27
avaVusal,
Хм 0 а добавить к своему URL - и всунуть в Аякс запрос - разве это не то что требовалось ?

avaVusal
04.07.2012, 13:28
avaVusal,
я уже написал тебе решение выше, именно оно и реализовано на таких сайтах как вконтакт и других.

а можно ли это сделать без применения HTML5. Как я понял в vk.com без этого сделали.

Deff
04.07.2012, 13:29
тады так:
var a=document.URL
a=a.replace('/#','');

devote
04.07.2012, 13:29
Как я понял в vk.com без этого сделали.
не правильно ты понял.. в VK именно использовали HTML5 другого способа никогда не существовало, кроме использования HASH

avaVusal
04.07.2012, 13:30
avaVusal,
Хм 0 а добавить к своему URL - и всунуть в Аякс запрос - разве это не то что требовалось ?

нет, с отправкой запроса всё нормально, необходимо видоизменить url, видимый в адресной строке броузера.

devote
04.07.2012, 13:30
Deff,
ты его не правильно понял.. ему надо менять адрес в адресной строке браузера.. Так как это делает тот же вконтакт.

Deff
04.07.2012, 13:32
ты его не правильно понял.. ему надо менять адрес в адресной строке браузера.. Так как это делает тот же вконтакт.
А ...
avaVusal, тады ток метод от devote,

avaVusal
04.07.2012, 13:33
Спасибо.