根据主题更改favicon

时间:2009-02-08 00:51:34

标签: asp.net themes

是否有内置的方法来更改不同主题的图标?如果没有,那就像创建一个自定义控件一样简单,以使用正确的URL向该图标发出链接标记?

更新

因此,根据我发现的内容,看起来我将不得不创建一个http处理程序来拦截对favicon.ico的所有调用。

然后,此处理程序将确定我们使用的主题(在我的情况下,它将基于域名),然后它将从各种主题文件夹输出主题favicon.ico。

由于我支持IE7,我认为这是我唯一的选择。如果其他人有更好的方法,仍然很好奇。

3 个答案:

答案 0 :(得分:3)

只要您的用户不使用IE,那应该没问题。 IE(至少版本7)只读取favicon.ico文件并完全忽略链接标记。

答案 1 :(得分:0)

请注意,根据W3Schools

http://www.w3schools.com/browsers/browsers_stats.asp

您应该期望大约1/2的用户使用IE。

答案 2 :(得分:0)

经过一番研究和思考它看起来是唯一的方法,并且仍然支持IE7及更早版本(我不确定IE8是否更新了对favicon的支持)。将动态提供图标来执行此操作,您可以执行以下操作:

  1. 创建并注册HttpHandler以处理对FavIcon.ico
  2. 的请求
  3. 配置IIS以将.ico文件的请求发送到ASP.Net(如果您使用的是IIS6或更早版本)
  4. 运行您用来确定哪个主题的逻辑,并从中找到您要提供的.ico,然后将其发送到浏览器。