猫头猪
狐狸大王
狐狸大王
  • UID163
  • 注册日期2004-11-25
  • 最后登录2005-12-04
  • 发帖数595
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:3640回复:0

Madfox 补丁解析--HTML sniff

楼主#
更多 发布于:2005-04-01 10:33
HTML sniff就是当一个探测一个页面内容是否是HTML,即使它的mimetype是text/plain。很多人抱怨看网页总是看到原码,就是这个原因。
其实Firefox已经对一些内容进行探测了。已经存在一个UnknownDecoder,对于本地的文件进行探测,因为本地的文件往往是没有指定mimetype的。另外,对于网络文件,也已经有一个BinaryDetector,来探测是否是二进制文件,来避免显示二进制文件。
我只是在已有的基础上加了一个判断,判断它是否是一个HTML文件。一个出乎意料的小的补丁。
Index: netwerk/streamconv/converters/nsUnknownDecoder.cpp
===================================================================
--- netwerk/streamconv/converters/nsUnknownDecoder.cpp  (revision 5)
+++ netwerk/streamconv/converters/nsUnknownDecoder.cpp  (revision 6)
@@ -634,4 +634,7 @@
     // We want to guess at it instead
     mContentType = APPLICATION_GUESS_FROM_EXT;
   }
+  else {
+    SniffForHTML(aRequest);
+  }
 }
游客

返回顶部