如果您不知道操作中止错误是什么,请参阅Microsoft KB文章,http://support.microsoft.com/default.aspx/kb/927917。关于它的帖子也很多,但它的简单答案是这样的;只有在您尝试操作的元素被加载之前尝试通过JavaScript操作DOM元素时才会出现错误。
我知道Internet Explorer(IE)臭名昭着的操作中止是如何发生的,并知道如何解决它。我遇到的问题是一个非常奇怪的场景。使用IE7在本地和开发机器上进行测试时,我从未遇到过操作中止错误(两个站点都以http身份运行)。
然而,在我们客户的测试网站上,它一直在发生。不幸的是,我的测试环境与客户端的测试环境不同,因此添加了一些变量,但我看到的主要区别是客户端的测试站点正在使用SSL。
是否曾有人曾为SSL网站发生过操作中止错误?
另一个想法突然出现在我脑海中,这是一个延迟问题。本地网站几乎瞬间加载,而在我的客户端的测试网站上,页面加载速度较慢。因此,考虑到这一点,我让Fiddler运行并模拟了以旧学校调制解调器速度运行的性能,仍然没有操作在本地或我们自己的测试服务器上中止错误。
仅供参考:该网站是使用ASP.NET AJAX Extensions 1.0的ASP.NET 2.0网站。有问题的页面上还有AJAX Control Toolkit的Cascading Drop Down。
是的,据我所知,操纵DOM的所有JavaScript都在标记的末尾,而不是开头。
非常感谢任何帮助或评论。
答案 0 :(得分:1)
在网上搜索之后我发现了这个问题。它与ASP.NET AJAX客户端框架中的错误有关。
我会解释我发现的内容:
问题是由于Internet Explorer / ASP.Net AJAX错误而导致的竞争条件。当应用程序在网页上具有大量启用ASP.Net AJAX的服务器控件时,遇到此问题的概率会增加。这里解释了这个问题,http://seejoelprogram.wordpress.com/2008/10/03/fixing-sysapplicationinitialize-again。我已将此修复程序添加到我正在处理的项目中。
如果使用ASP.NET 3.5 SP1,仍然需要此修复程序。
答案 1 :(得分:0)
我猜你的测试盒上没有SSL的原因是由于证书的成本。你知道吗,你可以获得免费的短期证书吗?我经常用它们来解决这样的问题。