Я занимаюсь разработкой веб-приложения с использованием API Карт Google и ASP.NET Ajax. Вот мой JavaScript-код для PageLoad:
map.openInfoWindowHtml(map.getCenter(),'Hello, <b>world</b>!');
Первый запуск прошел успешно. Но после выполнения некоторой ASP.NET Ajax-функции мы имеем странный эффект: в Internet Explorer, Mozilla Firefox и Opera все хорошо, но в Google Chrome и Safari текст с html-тегами невидим. Другими словами, в Google Chrome у нас есть текст: «Привет,!»
Я хочу сделать приложение, которое обычно в Google Chrome и Safari тоже. Как мне это сделать?
Обновление:
String "Hello, <b>world</b>, <strong>world</strong>, <span style='font-weight: bold;'>World</span>, <a href='http://ya.ru'>Link</a>."
преобразовать в "Hello, , , , . "
(я исследовал DOM). Слова действительно исчезают.
Я наблюдал этот странный эффект для любой Ajax-функции с запросом к серверу.
Update2:
Большое спасибо Koobz за многие наводящие вопросы. Они помогли мне более детально разобраться в проблеме.
Прежде всего, полное описание действий:
- Загрузить страницу. У GMap есть несколько маркеров с dblclick-event в JavaScript. Событие Dblclick exec marker.openInfoWindowHtml (/ Мой текст /). / Мой текст / находится в JavaScript моей страницы.
- Я дважды щелкаю по маркеру. Я вижу информационное окно с нормальным форматированием
- Exec __doPostBack (starndard ASP.NET PostBack)
- На стороне сервера JavaScript обновляется с тем же
- Сервер вернет некоторую информацию с / My text / на мою страницу
- Я дважды щелкаю маркер. Я вижу информационное окно с неправильным форматированием.
Интересный факт, который меня смущает:
Я пытаюсь установить «Привет, world , & lt; b & gt; test & lt; / b & gt;"
Перед функцией Ajax во всех браузерах у меня есть: «Здравствуйте, world , test »
После функции Ajax в Google Chrome и Safari: «Здравствуйте, test »
После функции Ajax в Mozilla, Opera и IE: «Привет, world , test »
Какие функции в Chrome и Safari могут вызывать такое поведение? Теперь я могу написать отдельно необходимый infoWindow-текст для каждого браузера. Но я бы хотел найти нормальный способ решения моей проблемы.