天天看点

mvc control 请求两次问题

今天在做项目时,突然发现一个mvc 的control中action被执行了两次,最终发现是由于favicon.ico导致的。问题代码:

mvc control 请求两次问题
mvc control 请求两次问题

由于这篇文章主要讨论favicon.ico,以及各个浏览器对其的不同处理,所以还是新建web项目如下:

mvc control 请求两次问题
mvc control 请求两次问题
mvc control 请求两次问题
mvc control 请求两次问题

home.html 代码如下:

下面两行代码就可以告诉浏览器使用wangyi.ico 作为home.html的图标了:

基本上所有的现代浏览器都支持这种写法,例如firefox,ie9.

mvc control 请求两次问题
mvc control 请求两次问题

可惜的是普通用户用的基本上是360浏览器,搜狗浏览器,qq浏览器等。

mvc control 请求两次问题

可以知道,我们在网站根目录下面的favicon.ico 起作用了,所以显示的是网站根目录下面的favicon.ico 图标。

mvc control 请求两次问题

奇怪了,google的图标哪里来的。。。。???

我们的faviconTestWeb 只有3个图标,一个是wangyi.ico.baidu.ico.favicon.ico(cnblogs的图标)。

为什么使用360显示的是google的图标?

firefox请求的是:link 的href所对应的图标。

证据就是打开360se的安装目录:

mvc control 请求两次问题

所以如果你的网站favicon.ico 不起作用,或者是想要让favicon.ico 的兼容性更好,要使用下面几个步骤:

3:如果你的网站带端口,或者是测试版本的话,那么尤其要注意360等浏览器,它们在请求favicon.ico 的时候会忽略端口号的。

本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/4527633.html,如需转载请自行联系原作者