Я использую Google Maps iframe для создания карты на моем веб-сайте. Iframe выглядит так:

<iframe id="googlemap" width="199" height="199" frameborder="0" style="border:0" src="https://www.google.com/maps/embed/v1/place?key=KEY&zoom=14&language=nb&q=Møllesvingen+2,0854+OSLO"></iframe>

Если вы видите атрибут src, вы видите, что есть специальный символ 'ø', который я хотел бы заменить на %C3%B8 (байт UTF-8).

Я пробовал это с несколькими функциями замены, но, кажется, ничего не работает. Вот что я сейчас пытаюсь:

var src;

src = $('#googlemap').attr('src');

src.replace('ø', '%C3%B8');

Но это не работает. Надеюсь, кто-нибудь может помочь.

Заранее спасибо!

4
dahlsdata-tahira 6 Янв 2017 в 12:56

3 ответа

Лучший ответ

Вам нужно добавить кодировку. Попробуй это,

src = $('#googlemap').attr('src');
src = encodeURI(src);
$('#googlemap').attr('src', src);
4
pravid 6 Янв 2017 в 10:01

Это на самом деле. Функция replace возвращает новую строку. Сохраните новую строку в переменной и измените src обратно.

var src;
var newStr;

src = $('#googlemap').attr('src');

newStr = src.replace('ø', '%C3%B8');

console.log(src);
console.log(newStr);

$('#googlemap').attr('src', newStr);
0
Norlihazmey Ghazali 6 Янв 2017 в 10:05
str.replace(/[ø]/g,'%C3%B8');

Используйте регулярное выражение, чтобы решить это. Приведенный выше код заменит специальный символ.

0
Ashokkumar 6 Янв 2017 в 10:05