`
deejay
  • 浏览: 145343 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

IE6下链接ONCLICK事件处理中的请求被ABORTED

阅读更多

IE6下链接ONCLICK事件处理中的请求被ABORTED

一大早发现,ie6下点发起对话没法弹出窗口,ff浏览器就是可以的。开启HttpWatch检测,发现点击的被aborted。

查找资料显示aborted的原因如下。

The (Aborted) value is more complex in its origin. It occurs when IE has started to process the request for a URL (e.g. to download an image), but then decides to cancel the operation. Here are some examples of when this can occur:

  1. If you click on a link or bookmark while a page is downloading, or click on IE’s Stop button, you will see that IE cancels any requests which are still active and HttpWatch shows the (Aborted) result.
  2. A CSS rollover image on a page will start a request when the mouse pointer is moved into its active area. If the mouse pointer quickly moves away again, IE may abort the request if it has not already completed.
  3. Sometimes javascript is used to fire off requests for background tasks or to gather statistics on a page. Often this can lead to aborted results if the javascript does not wait for the response to be received from the server.

继续寻找根源,搜索到发现这个问题是ie6中一个底层 机制的bug,之后的版本已经解决了。据说<a href="javascript:void(0)">或者<a href=#">这样使用a标签的话并不能阻止a标签最后触发一个什么行为,导致ie6会错误的认为页面刷新或者重定向了,并且中断了当前所有连 接,这样新的加载就被aborted了。解决方案最简单的方法有两个,一个是这样使用a标签<a href="xxx(); return false;">,另外一个就是用div替换a标签来用。至此,问题总算解决。

在开发中常使用<a>标签代替button,好处在于可以利用a:hover样式做mouseover效果,但下面的代码在IE6下就有问题,onclick中的请求被aborted。
<a href="javascript:void(0);" onclick="$('current').src='images/001.jpg';">切换图片</a>,IE6下图片不显示。
<a href="javascript:void(0);" onclick="MyJrjRelation.checkAttention();">关注此人</a>,IE6下请求失败。

解决方法:
1. 不使用onclick,但必须保证处理函数不返回值,否则浏览器将清空页面,只显示函数的结果。如果checkAttention返回false,浏览器中就会显示false。
<a href="javascript:MyJrjRelation.checkAttention();">关注此人</a>

<a href="javascript:void(MyJrjRelation.checkAttention());">关注此人</a> void返回undefined;

2. 在onclick上加return false阻止浏览器执行href。href属性还是必须的,否则链接就样式失效了。
<a href="javascript:void(0);" onclick="MyJrjRelation.checkAttention();return false;">关注此人</a>

总结来说<a href="javascript:void(0);" onclick="MyJrjRelation.checkAttention();return false;">的兼容性最好。

相关知识链接:

http://www.cnblogs.com/zhyt1985/archive/2009/05/27/1490755.html

http://weizuqing1986-126-com.javaeye.com/blog/458141

http://blog.csdn.net/wangjj_016/archive/2010/02/10/5304784.aspx

还有解决办法

比如

$(’#changesite-panel a.city’).click(function(ev){
ev.preventDefault();
changeSite($(this).attr(’rel’));
});

转载的。。。。记录下来,以后用。

<script type="text/javascript"></script>
分享到:
评论

相关推荐

    IE6中ajax aborted错误请求中断解决方法

    给a标签绑定了一个click事件用来触发ajax请求,在IE6中,请求时常会被中断,在其他浏览器中都一切正常,具体解决方法如下,感兴趣的朋友可以参考下

    解决jQuery ajax请求在IE6中莫名中断的问题

    这不仅需要我们理解浏览器的兼容性差异,还需要理解JavaScript中事件处理的机制。在遇到类似的问题时,合理运用`e.preventDefault()`等方法能够有效地解决一些由浏览器默认行为引起的兼容性问题。

    firefox firebug js错误

    在IT行业中,JavaScript(JS)是网页开发中的关键语言,而Firefox Firebug是一款曾经非常流行的JavaScript调试工具。本文将深入探讨“Firefox Firebug JS错误”的主题,帮助开发者理解和解决这类问题。 首先,让...

    AbortController中止请求通信[模糊搜索案例]

    在服务文件夹(service)中,我们可以找到处理模糊搜索请求的路由和相关业务逻辑。这些文件可能包括了接收请求、处理数据、返回结果等操作。使用AbortSignal,后端需要能够识别并响应前端发送的中止请求信号,这可能...

    message:自动真机调试 Error: Aborted. Please retry appid: wxcc22649cfe0

    message:自动真机调试 Error: Aborted. Please retry appid: wxcc22649cfe0db7b5 openid: o6zAJs9SgDdvm3T5BkTODqbUIJB4 ideVersion: 1.06.2401020 osType: win32-x64 time: 2024-02-07 23:12:31

    Transaction Aborted(处理方案).md

    项目中碰到的问题

    通过案例分析MySQL中令人头疼的Aborted告警

    本文主要给大家介绍的是关于MySQL中Aborted告警的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 实战 Part1:写在最前 在MySQL的error log中,我们会经常性看到一些各类的Aborted connection错误,...

    MySQL Aborted connection告警日志的分析

    首先我们来了解下Aborted_clients和Aborted_connects这两个状态变量的含义,当出现会话异常退出时,这两个状态值会有变化。根据官方文档描述,总结如下: 造成Aborted_connects状态变量增加的可能原因: 客户端...

    HTTP & FTP 返回值大全

    这类状态码表示请求已被服务器接收,继续处理。 - **100 Continue**: 表示客户端应当继续发送请求的剩余部分。 - **101 Switching Protocols**: 服务器将遵从客户的请求切换协议。 #### 2xx - 成功状态码 此类状态...

    解决FireFox下[使用event很麻烦]的问题

    在FireFox下编写事件处理函数是很麻烦的事. 因为FireFox并没有 window.event . 如果要得到 event 对象,就必须要声明时间处理函数的第一个参数为event. 所以为了兼容IE与FireFox,一般的事件处理方法为: btn....

    Scan Aborted(解决方案).md

    Scan Aborted(解决方案).md

    JLINK Debugger aborted问题解决

    当出现"JLINK Debugger aborted"错误时,这通常意味着调试过程被异常中断,可能是由于多种原因导致的。在确保硬件连接无误,所有线缆都已经正确且牢固地插入之后,我们需要关注以下几个关键点来排查问题: 1. **...

    Utracker事务状态和处理流程事务状态和处理流程事务状态和处理流程

    6. **已终止(Aborted/Finished)**:如果事务无法继续或被用户强制停止,其状态将变为已终止。在这种情况下,Utracker需要清理事务残留,确保系统不会因此受到影响。 处理流程可能涉及以下步骤: 1. **事务创建**...

    常见IIS错误,适合web编程者

    这类状态码表示请求已经被服务器接收,正在处理中。 - **100 Continue**:服务器已经收到了客户端的部分请求,并且希望客户端继续发送剩余部分。 - **101 Switching Protocols**:服务器已经理解了客户端对于协议...

    深入剖析浏览器退出之后php还会继续执行么

    3. **TCP连接与Keep-Alive**:在HTTP请求中,TCP连接可能会被设置为Keep-Alive,允许复用同一个TCP连接来处理多个请求,减少连接建立和释放的开销。但如果浏览器关闭,TCP连接会在一段时间后(由Keep-Alive超时时间...

    Node.js gm模块处理图片(缩略图,加水印,裁剪图片).docx

    `gm`模块支持一系列事件,用于处理上传过程中的不同阶段: - **part**:请求文件数据时触发。回调函数返回一个实现了可读流的实例对象,包括头部文件、字段名称、文件名称、字节偏移量及数据总字节长度。 - **...

    整理一下常见的IE错误

    在IE8 之前的版本中,存在一个相对于其他浏览器而言,最令人迷惑、讨厌,也最难于调试的错误:操作终止(operation aborted)。在修改尚未加载完成的页面时,就会发生操作终止错误。发生错误时,会出现一个模态对话框...

    JS 拦截全局ajax请求实例解析

    在前端开发过程中,经常会有对Ajax请求进行管理和控制的需求。比如,给所有请求加上统一签名、统计接口被调用次数、限定请求方法必须是GET或POST、分析网络协议等。这时,能够全局拦截Ajax请求就能极大地简化问题。...

Global site tag (gtag.js) - Google Analytics