【发布时间】:2016-04-15 00:12:56
【问题描述】:
我正在使用 PHP 来设置我的网站图标
<link rel="shortcut icon" href="<?php echo "/SysFiles/img/ico/". $favicon; ?>">
这将在 Firefox 上正常工作,但在 Chrome 上不能正常工作。更改图标时如何让 Chrome 重新获取图标?
编辑:这个文件位于 /SysFiles/navbar.php,它是 PHP 包含在服务器上的每个页面上,包括我正在测试的页面
编辑: 导航栏.php
<?php
session_start();
if ($_COOKIE['darktheme'] == "1") {
$_SESSION['darktheme'] = true;
$_SESSION['SETHEME'] = 1;
} else {
$_SESSION['darktheme'] = false;
$_SESSION['SETHEME'] = 1;
}
$addr = "http://" . $_SERVER['SERVER_ADDR'];
$myfile = fopen("$addr/Data/Points/makarios", 'r');
$makarios = fgets($myfile);
fclose($myfile);
$myfile = fopen("$addr/Data/Points/sozo", 'r');
$sozo = fgets($myfile);
fclose($myfile);
$myfile = fopen("$addr/Data/Points/kaleo", 'r');
$kaleo = fgets($myfile);
fclose($myfile);
$myfile = fopen("$addr/Data/Points/katharos", 'r');
$katharos = fgets($myfile);
fclose($myfile);
$myfile = fopen("$addr/Data/Points/charis", 'r');
$charis = fgets($myfile);
fclose($myfile);
$myfile = fopen("$addr/Data/Points/agape", 'r');
$agape = fgets($myfile);
fclose($myfile);
$cookie_name = "REENT";
$cookie_value = $makarios + $sozo + $kaleo + $katharos + $charis;
if ($cookie_value != $_COOKIE["REENT"]) {
$newcooksit = true;
}
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
if ($newcooksit == true) {
echo '<br><br><br><div class="alert alert-info"><strong>Look!</strong> Points have changed since your last visit! Check the new values <a href="results.php">here!</a> </div>';
} else {
echo '<br><br><br>';
}
?>
<?php
$sid = $_SERVER['SERVER_ADDR'];
$items = ["/SysFiles/img/ico/makarios.ico", "/SysFiles/img/ico/agape.ico", "/SysFiles/img/ico/kaleo.ico", "/SysFiles/img/ico/charis.ico", "/SysFiles/img/ico/sozo.ico", "/SysFiles/img/ico/katharos.ico"];
//echo $items[array_rand($items)];
$ico = $items[array_rand($items)];
?>
<head>
<meta charset="utf-8">
<?php $favicon = $_COOKIE['houseicn']; ?>
<link rel="icon" href="<?php echo "/SysFiles/img/ico/". $favicon; ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<?php
if ($_SESSION['darktheme'] == true) {
?>
<link rel="stylesheet" type="text/css" href="SysFiles/sys/darktheme.css">
<?php
}
?>
</style>
</head>
<?php
if ($_SESSION['darktheme'] == true) {
?>
<font color='white'>
<?php
}
if ($_SERVER['SETHEME'] == 1) {
if ($_SERVER['SETHEMED'] !== 1) {
header("Refresh:0");
}
$_SERVER['SETHEMED'] == 1;
}
?>
<?php
if ($_SESSION['ACCESS'] > 0) {
?>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">House Points</a>
</div>
<ul class="nav navbar-nav">
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/index.php">Home</a></li>
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/results.php">Current Results</a></li>
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/archive.php">Old Results</a></li>
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/submit.php">Teacher Submission</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/logout.php"><span class="glyphicon glyphicon-log-out" aria-hidden="true"></span> Logout</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">About
<span class="caret"></span></a>
<ul class="dropdown-menu">
<?php include "sysinfo"; ?>
</ul>
</li>
</ul>
</div>
</nav>
<?php } else { ?>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">House Points</a>
</div>
<ul class="nav navbar-nav">
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/index.php">Home</a></li>
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/results.php">Current Results</a></li>
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/archive.php">Old Results</a></li>
<li><a href="http://<?php echo $_SERVER['SERVER_ADDR']; ?>/submit.php">Teacher Submission</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">About
<span class="caret"></span></a>
<ul class="dropdown-menu">
<?php include "sysinfo"; ?>
</ul>
</li>
</ul>
</div>
</nav>
<?php } ?>
【问题讨论】:
-
您可能只需要在链接元素中设置
type="image/ico" -
很遗憾,这没有用。
-
@JamesPaterson - 取决于正在使用的文件类型(扩展名)。 OP,
$favicon的扩展名(文件类型)是什么? -
它等于 hiddeniconname.ico
-
@Marcus 我猜是 .ico 因为文件路径。根据bugs.chromium.org/p/chromium/issues/detail?id=51270 的说法,有一个错误阻止 chrome 不通过 web 路径获取 favicon。尝试完全限定 URL,例如“somewebsite.com/SysFiles/img/ico”。 $favicon;
标签: php html google-chrome favicon