【发布时间】:2011-01-09 15:35:43
【问题描述】:
我正在使用 Google Maps API 和 ASP.NET Ajax 开发网络应用程序。这是我用于 PageLoad 的 JavaScript 代码:
map.openInfoWindowHtml(map.getCenter(),'Hello, <b>world</b>!');
首次运行成功。但是在执行一些 ASP.NET Ajax-function 后,我们有奇怪的效果:在 Internet Explorer、Mozilla Firefox 和 Opera 中一切正常,但在 Google Chrome 和 Safari 中,带有 html-tags 的文本是不可见的。换句话说,在谷歌浏览器中我们有文本:“你好,!”
我也想制作通常在 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 函数的奇怪影响。
更新2:
非常感谢 Koobz 提出的许多重要问题。他们帮助我更详细地了解了问题。
首先,完整的动作描述:
- 加载页面。 GMap 在 JavaScript 中有几个带有 dblclick-event 的标记。 Dblclick 事件执行标记.openInfoWindowHtml(/My text/)。 /My text/ 位于我页面的 JavaScript 中。
- 我双击标记。我看到一个格式正常的 infoWindow
- Exec __doPostBack(标准 ASP.NET PostBack)
- 在服务器端 JavaScript 更新为相同的
- 服务器将一些信息与 /My text/ 一起返回到我的页面
- 我双击标记。我看到一个格式错误的 infoWindow。
一个有趣的事实,让我很尴尬:
我尝试设置为“Hello, world, <b>test</b>”
在所有浏览器中的 Ajax 功能之前,我都有:“Hello, world, test”
Google Chrome 和 Safari 中的 Ajax 功能后:“Hello, ,test”
Mozilla、Opera 和 IE 中的 Ajax 功能后:“Hello, world, test”
哪些 Chrome 和 Safari 具有可能导致此类行为的功能?现在我可以为每个浏览器分别编写必要的 infoWindow-text。但是我想找到一个正常的方法来解决我的问题。
【问题讨论】:
-
是否可以发布指向违规页面的链接?
-
@Cannonade,很遗憾,我正在处理一个无法发布的项目。
-
你能再贴一些代码吗? AJAX 函数有什么作用?
-
安装 Firebug,右键单击文本(如果可能),选择“检查元素”。
-
@DreamWalker,您抱怨每次 Ajax 调用都发生了一些事情,但您拒绝显示调用代码。您使用哪个框架来处理 Ajax 请求?您是否使用新的 HTML 填充页面上的任何 HTML 元素? Ajax 调用去哪里了?如果没有这些信息,我认为任何人都无法帮助您。
标签: ajax google-maps safari google-chrome