Internet Explorer 8中的ScriptManager.RegisterClientScriptBlock和jQuery问题
我想使用jQuery的jGrowl插件( http://stanlemon.net/projects/jgrowl.html#samples )在页面上显示一些消息。 为此,我调用ScriptManager.RegisterClientScriptBlock方法,如下所示:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), "$.jGrowl('" + message + "');", true);
该代码在Firefox / Chrome / Safari中非常完美。 但是在Internet Explorer中我没有看到通知,我没有收到任何Javascript错误。
我在Windows 7下工作,我有Internet Explorer 8 Beta(版本8.0.7000.0),我在兼容模式下有相同的“错误”。
我怎么解决这个问题?
出现此问题的原因是IE8期望在对DOM进行修改之前加载所有DOM元素。 我能够复制你用jGrowl描述的问题。
为了解决这个问题,我只修改了你的脚本,以便在文档准备好后调用jGrowl。 这是更新的代码:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), "$(function(){$.jGrowl('" + message + "');});", true);
将
到页面。 它会工作……
如果没有错,我认为你必须在客户端页面中添加它。
有关详细信息,请查看此内容 。