阅读:3868回复:0
Madfox 补丁解析--HTML sniff
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); + } } |
|