Тема закрыта
Страницы: 1
Почему в JavaScript, кот. запускается из-под FireFox (пишу bookmarklet) русские буквы заменяются на Unicode?
То есть ввожу "имя" в окошке-запросе, а получаю строчку %u0438%u043C%u044F.
Как быть? Мне нужно или просто слово на русском или хотя бы escape-последовательность, чтобы добавить в ссылку.
например google.com?q=имя
javascript:strquery = prompt(%22Film Name%22, %22%22); location=%22http://www.google.com/search?q=%22 + escape(strquery).replace(/ /g, %22+%22); void 0
http://xpoint.ru/know-how/JavaScript/YemulyatsiyaOtpravkiFormyiPriPomoschiXMLHttpRequest
Если кратко, то внутреннее предстваление строк в js — уникод. Чтобы закодировать данные форм так, чтоб сервер их понял — надо юзать ф-цию encodeURIComponent.
http://xpoint.ru/know-how/JavaScript/YemulyatsiyaOtpravkiFormyiPriPomoschiXMLHttpRequest
Если кратко, то внутреннее предстваление строк в js — уникод. Чтобы закодировать данные форм так, чтоб сервер их понял — надо юзать ф-цию encodeURIComponent.
В FireFox 1.0.7 это не работает. Заменил escape на escapeURIComponent
javascript:strquery = prompt(%22Film Name%22, %22%22); location=%22http://www.google.com/search?q=%22 + escape(strquery).replace(/ /g, %22+%22); void 0
здесь запрашивается строка поиска и открывается окошко с результатами поиска.
javascript:strquery = prompt(%22Film Name%22, %22%22); location=%22http://www.google.com/search?q=%22 + escapeURIComponent(strquery).replace(/ /g, %22+%22); void 0
а вот здесь запрос работает, но дальше нет - окошко с google не открыватся почему-то.
Может эту функцию FireFox не понимает? Это не из микрософтовского JScript функция случайно?
Тема закрыта
Страницы: 1