当 A 在 Facebook 上发布链接,然后 B 在 Chrome 中单击该链接(不是在 Firefox 中,并且尚未测试其他链接)时,B 会看到选项卡上显示的蓝色背景图标 (favicon.ico) 上的 Facebook 白色“f”的链接页面。有时,大概当页面有自己的图标时,刷新该选项卡会将图标替换为正确的图标;但大多数情况下,Facebook 图标仍然存在。起初我认为 Facebook 以某种棘手的方式使用框架,但使用 View Source,情况似乎并非如此。一个人如何编程一个 href 或重定向,以便像 Facebook 那样将自己的 favicon 预加载到链接页面上?
这是我尝试过但没有成功的方法,我的图标被替换为什么都没有(并且仅显示在 Firefox 的选项卡和导航栏中,仅显示在 Chromium 的选项卡中,但这无关紧要):
http://unixshell.jcomeau.com/tmp/linktest/index.html
jcomeau@unixshell:~/www/www/tmp/linktest$ cat index.html
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
<a href="redirect.html?url=http://homesteadingsurvivalism.myshopify.com/">homesteadingsurvivalism.myshopify.com</a>
</body>
</html>
jcomeau@unixshell:~/www/www/tmp/linktest$ cat redirect.html
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
<script language="javascript" type="text/javascript">
var newpage = window.location.search.substring(5);
window.setTimeout('window.location = newpage; ', 3000);
</script>
</head>
<body>
<p>Redirecting to selected site, please wait...</p>
</body>
在严的评论之后,我也尝试了没有成功的redirect.cgi:
jcomeau@unixshell:~/www/www/tmp/linktest$ cat redirect.cgi; QUERY_STRING=url=http://this.is.a.test/ ./redirect.cgi
#!/bin/bash
echo -ne "Content-type: text/html\r\n"
echo -ne "Location: ${QUERY_STRING:4}\r\n"
echo -ne "\r\n"
cat <<-EOF
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
Redirecting to ${QUERY_STRING:4}
</body>
</html>
EOF
Content-type: text/html
Location: http://this.is.a.test/
<html>
<head>
<link rel="shortcut icon" href="favicon.ico" />
</head>
<body>
Redirecting to http://this.is.a.test/
</body>
</html>