- 浏览: 1649932 次
- 性别:
文章分类
- 全部博客 (2929)
- 非技术 (18)
- Eclipse (11)
- JAVA (31)
- 正则表达式 (0)
- J2EE (4)
- DOS命令 (2)
- WEB前端 (52)
- JavaScript (69)
- 数据库 (8)
- 设计模式 (0)
- JFreechart (1)
- 操作系统 (1)
- 互联网 (10)
- EasyMock (1)
- jQuery (5)
- Struts2 (12)
- Spring (24)
- 浏览器 (16)
- OGNL (1)
- WebService (12)
- OSGi (14)
- 软件 (10)
- Tomcat (2)
- Ext (3)
- SiteMesh (2)
- 开源软件 (2)
- Hibernate (2)
- Quartz (6)
- iBatis (2)
最新评论
原文:ERROR_INTERNET_INVALID_URL & HttpWatch
一些用户反映,最近在他们的页面中通过 HttpWatch 抓包,有发现请求 http://:/ 这样的地址,想知道发生这种问题的原因。这样的 URL 会在 IE6 中显示 “ERROR 0x57”,而在 IE7 中显示为“ERROR_INTERNET_INVALID_URL”。
发生这样的错误都有一个共同的原因。他们一般都使用了 JQuery 或者 YUI 的 Javascript 库。很难立即发现是哪里生成了这个 URL,我们使用 IE Developer Toolbar 检查后发现,没有哪个 DOM 节点使用了这个 URL。
我们使用当前的 jQurey 库建立了一个简单的测试页 。如果你使用 HttpWatch 抓包,你就能看见页面加载后,对 http://:/ 地址的请求被记录了下来。
IE7 下抓图
IE6 下抓图
我们猜想会不会是 IE 自动加上了 http: 前缀和最后的反斜杠,于是,我们查找 //:。HttpWatch 高亮显示了 jquery.js 中的如下代码片段。它的作用是,在 IE 下做一个 Hack 来触发一个事件,效果等同于 Firefox 中 DOMContentLoaded 事件。
jQuery 库不使用标准的 window.onload 事件,是因为该事件会等到页面和页面内的全部图片完全加载成功后才会被触发。如果图片较多,或者图片较大,会造成页面上的 JS 函数执行被严重地滞后。使用 DOMContentLoaded 事件的优点就在于,一旦页面的 Dom 节点完成后,JS 就可以安全的操作这些节点,而不会触发 IE 终止错误。
因此,在 IE 下创建了一个带有 defer 属性临时的 SCRIPT 标签,来产生一个与 DOMContentLoaded 事件相同作用的事件。(注:该 SCRIPT 标签的 onreadystatechanged 中可以监测 SCRIPT 的加载状态,如果 readyState 属性为 complete,就证明 DOM 节点已经完成并且可以操作。关于这种方法的可靠性,我们在另一篇文章中单独探讨)然而,如果 SCRIPT 标签有一个 defer 属性, SCRIPT 必须有一个 src 属性的时候才会触发 onreadystatechanged 事件。就是这里的 src 属性引起了这个错误的 URL 请求。
临时的 SCRIPT 标签会在事件触发后被删除,因此无法在页面的 DOM 节点中看到。
The temporary相同的例子是使用 YUI 库:
如果你访问 YUI Event 示例,你仍然可以看到这个错误:
SCRIPT 标签的 src 设置为 //: 是整个问题的根源。如果它是一个真实有效的 URL,必然导致一个冗余的网络请求。这个无效的URL 请求会在 HttpWatch 中显示为一个错误,但是会带来最小程度的性能开销。YUI Event 实例中我们可以看到,它仅仅增加了 3 毫秒的下载时间。
发表评论
-
15款基于浏览器扩展的WEB开发工具
2009-07-29 08:44 772WEB开发工具的使用已经 ... -
WEB 服务器调试利器 -- Tamper Data(转)
2009-07-29 08:53 746一. 简介 作为 Firefox 的插件, T ... -
图片和文字放一起,不能居中的解决方法
2009-07-29 14:47 951<td align="center" ... -
深入浅出URL编码
2009-08-11 19:58 641版权声明:如有转载请求,请注明出处: http://blog ... -
IE和Firefox之间的JavaScript差异
2009-08-17 17:18 585尽管 JavaScript 历史上使用冗长而令人生厌的代码块来 ... -
【CSS布局.2】绝对定位和相对定位
2009-08-20 15:51 599Absolute ,CSS 中的写法是:positio ... -
【CSS布局.1】盒子模型
2009-08-20 15:51 611例子: .box { width: 200px; ... -
【CSS布局.4】五种CSS布局类型
2009-08-20 15:52 640CSS 布局的五种类型概述 有五种基本布局定位类型可供选择: ... -
【CSS布局.3】列表样式定义法
2009-08-20 15:52 597CSS代码: .list{ margin: 0px 10 ... -
区别不同浏览器,CSS hack写法
2009-08-20 16:01 618区别IE6 与FF : backgroun ... -
常用CSS缩写语法总结
2009-08-24 17:55 659使用缩写可以帮助减少你CSS文件的大小,更加容易阅读。css缩 ... -
CSS颜色代码大全
2009-08-25 15:55 864CSS颜色代码大全 FFFF ... -
如何去掉ie里面的关闭按钮,和屏蔽ALT+F4 (转载)
2009-09-01 17:46 788去掉关闭按钮可以使用无边框窗口设计,不过IE6中已经不支持了。 ... -
CSS @import at规则
2009-09-02 10:40 675at规则 HTMLDog指南 > CSS高级指南 &g ... -
彻底弄懂CSS盒子模式之一
2009-09-02 17:05 686前言 如果你想尝试一 ... -
彻底弄懂CSS盒子模式之一
2009-09-02 17:06 626熟悉工作流程 在真正开始工作之前我们脑海中要形成这样一种 ... -
彻底弄懂CSS盒子模式之二
2009-09-02 17:07 610作者:唐国辉 实现原理动画演示:http://www ... -
彻底弄懂CSS盒子模式之三
2009-09-02 17:08 731一、下面请看float的精彩表演,有请。 大 ... -
彻底弄懂CSS盒子模式之五
2009-09-02 17:09 578在本人上一篇教程《彻 ... -
彻底弄懂CSS盒子模式之四
2009-09-02 17:09 673前言 在用CSS控制排版过程中,定位一直被人认为是一个难 ...
相关推荐
HttpWatch_Professional_7.0.23汉化破解版 教研必备
HttpWatch_Professional_7.0.23汉化破解版(附Lic).7z.rar
8. **集成开发环境**:HTTPWatch可以无缝集成到Internet Explorer、Firefox和Chrome等主流浏览器中,为开发者提供便捷的调试环境。 在实际应用中,HTTPWatch常用于以下几个方面: 1. **网页性能优化**:通过分析...
httpwatch_12290_BDdl
HttpWatch_Basic_8.5.35 该插件可以给web开发提供很好的调试作用
HttpWatch_Professional_7.0.23汉化破解版,分析HTTP请求必备工具
5. **集成到浏览器**:HttpWatch可以无缝集成到各种浏览器中,如Internet Explorer和Firefox,使得性能分析更为便捷。 6. **性能对比**:可以比较不同优化策略下的网页加载速度,以便找出最佳的优化方案。 7. **...
HttpWatch_Professional_7.0.23汉化破解版(网页数据分析工具)
HttpWatch.Professional.v...开发网站必备的工具HttpWatch的7.0.23版本的,此版本为原版+授权文件,本压缩包包含: httpwatchpro.exe(版本为7.0.23) httpwatch.lic 汉化包 安装的时候选择lic文件所在位置 亲测
HttpWatch 是一款强大的网页数据分析工具,可以集成在Internet Explorer工具栏. 包括: 网页摘要;Cookies管理;缓存管理;消息头发送/接受;字符查询;POST 数据和目录管理功能;报告输出 HttpWatch 是一款...
HttpWatch Professional 汉化破解版 7.0.23版本
HttpWatch是强大的网页数据分析工具,可以在IE和Firefox下使用,当使用JavaScript和Ajax开发异步通信程序时,该工具就显得非常重要,它提供了详细的Cookies管理、缓存管理、消息头请求/响应、字符查询、POST数据和...
强大的网页数据分析工具。集成在Internet Explorer工具栏。包括网页摘要。Cookies管理。缓存管理。消息头发送/接受。字符查询。POST 数据和目录管理功能。报告输出。
《IE浏览器上的网络抓包工具:HTTPWatch Professional详解》 在互联网开发和网络性能优化过程中,网络抓包工具是不可或缺的利器。它们可以帮助我们深入了解网络请求的细节,从而找出问题所在,提高网页加载速度和...
HttpWatch集成在Internet Explorer浏览器中,允许用户实时查看页面加载过程中的每一个步骤,包括DNS解析、TCP连接、HTTP请求和响应等。它能够记录所有HTTP和HTTPS交易,显示详细的请求和响应头部,内容长度,以及...
在标题"HttpWatch_10.0.62.0_licen"中,我们可以推断出这是HttpWatch的一个特定版本,即10.0.62.0,通常软件更新迭代会修复问题并提升性能。描述提到"下载并且提供序列号,希望能帮到各位",这意味着除了软件本身,...
HttpWatch是一款强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出
HttpWatch是强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功能.报告输出.HttpWatch 是一款能够收集并显示页页深层信息的...
httpwatch