我有一个ASP.Net应用程序,在我的Layout.cshtm中,基于一个条件,我试图更改收藏图标,以便不同的用户根据该条件拥有不同的收藏图标。下面是代码片段:
<!DOCTYPE html>
@{
bool someCondition = UserInfo.IsCondition;
}
<html lang="@ISO.Substring(0, 2)" data-full-culture="@ISO">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
@if (someCondition == true) {
<title ng-bind="'title 1'"></title>
<link rel="shortcut icon" href="/custom-favicon.ico" type="image/x-icon">
<link rel="icon" href="/custom-favicon.ico" type="image/x-icon">
}
else {
<title ng-bind="'title 2'"></title>
// Chrome sets favicon.ico as default, so no need to set it here
}
</head>
</html>
favicon.ico和custom-favicon.ico都在我的项目的根目录中。虽然我的标题会根据情况进行更改,但Favicon被设置为favicon.ico,即使我强制它更改,它也不会更新。
我非常感谢在这个问题上的任何帮助。
发布于 2019-03-16 16:17:42
浏览器对favicon相当懒惰。在你的特殊情况下,温和地推动它们应该是一件好事:)明确:
@if (someCondition == true) {
<title ng-bind="'title 1'"></title>
<link rel="shortcut icon" href="/custom-favicon.ico">
}
else {
<title ng-bind="'title 2'"></title>
<link rel="shortcut icon" href="/favicon.ico">
}
如果这仍然不起作用,你可以:
/favicon.ico?v=@timestamp
).PS:您可能不需要重复的shortcut icon
/ icon
声明。但强制浏览器定期切换图标可能会改变这一点。请让我知道。
https://stackoverflow.com/questions/55186839
复制相似问题