【发布时间】:2014-10-02 22:33:35
【问题描述】:
查看此页面:http://tinyurl.com/chrome-loads-thrice。
当通过 Google Chrome(OSX,37.0.2062.122)访问时,它会加载 3 次。您看到的数字是页面加载的次数。
第一次加载给我 1,第二次加载给我 3,然后是 5、7、9、11...
在代码中是这样的:
session_start();
$count = isset($_SESSION['test_counts']) ? $_SESSION['test_counts'] : 1;
$_SESSION['test_counts'] = $count + 1;
printHeader();
echo '<p>'.$_SESSION['test_counts'].'</p>';
printFooter();
我不能给出这些函数的内容,但你可以看到它们的输出。如果没有 printHeader 和 printFooter,页面将以正常计数加载。
【问题讨论】:
-
IE 创建从 1 开始,然后添加 1 (=2),重新加载 =3。
-
听起来像
printHeader和printFooter正在增加会话变量。我没有看到任何迹象表明我的浏览器正在多次加载该页面。您可以查看开发者工具的网络选项卡以查看正在加载的内容。 -
我在PHP的调试器中设置了一个断点,正好调用了3次。
-
test_counts 索引在今天之前从未存在过,并且不会在其他任何地方递增。你能像我说的那样确认计数吗?
-
我唯一的猜测是与标题有关,与 html 有关,但它一定是 Chrome 的错误。请注意,Safari 可以很好地加载此页面,即。 1,2,3,...
标签: javascript php html google-chrome http-headers