Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вывод параметра в адресную строку исп. инъекцию, написание javascript: инъекции 
:(
    Опции темы
3Dmind
Дата 25.8.2011, 14:27 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.8.2011

Репутация: нет
Всего: нет



Привет форумчане!
вопрос: как сделать javascript инъекцию которая после выполнения бы заменяла текущий УРЛ в адресной строке броузера??
Изначально есть следующая инъекция, которая добывает значение параметра NAME
Код

javascript: name = audioPlayer.lastSong[5] + " - " + audioPlayer.lastSong[6];

Нужно чтоб этот самый параметр вписывался в адресную строку!! (допустим NAME = example - text)

Условия:
  • не должно быть обновления страницы!! т.е. по выполнению скрипта - страница не перходит на новый линк!
  • скрипт должен работать под google chrome!
  • уникальные символы параметра NAME не должны заменяться на иероглифы(%20, & amp и др.)

собственно что сделал??
Код

javascript: name = audioPlayer.lastSong[5] + " - " + audioPlayer.lastSong[6]; ; window.location.hash = name; void 0;

данная инъекция как не странно работает, но есть несколько косяков которые хотелось бы исправить:
  • хоть и не происходит редирект страницы, но нужно несколько секунд прежде чем параметр example - text появится в адресной строке.. (для меня это не вариант по некоторым причинам)
  • не существенно, но УРЛ не меняется - вместо этого к существующему адресу дописывается #example - text
  • и наконец, если параметр содержит "example's - text", то в адресной страке пишеться "example&" Очень надоедает

какие еще могут быть варианты решения проблемы?

П.С. пробовал использовать window.history.replaceState() но как оказалось это тоже был не вариант т.к. вместо каждого пробела писалось - %20 а вместо ' - ' ТУТ ДОЛЖЕН идти иероглиф но ваш форум его не отображает
Код

javascript: name = audioPlayer.lastSong[5] + " - " + audioPlayer.lastSong[6]; window.history.replaceState(name, name, name);

PM MAIL   Вверх
3Dmind
Дата 28.8.2011, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 25.8.2011

Репутация: нет
Всего: нет



будем считать что 
уникальные символы параметра NAME не должны заменяться на иероглифы(%20, & amp и др.)
не проблема. Это должно облегчить задачу..

написал вот такой вот скрипт:
Код

javascript: name = audioPlayer.lastSong[5] + " - " + audioPlayer.lastSong[6]; window.history.pushState('Object', 'Title', '#'+name);


но он не идеален из за "response time", та же проблема что и с window.location.hash

Это сообщение отредактировал(а) 3Dmind - 28.8.2011, 19:30
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0405 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.