【问题标题】:Google Chrome refreshing without been asked for it [closed]谷歌浏览器在没有被要求的情况下刷新[关闭]
【发布时间】:2012-10-29 17:32:39
【问题描述】:

我有问题没有解决方案,需要帮助。

我采用安全代码来防止 http 刷新,它会监控客户端请求是否过多地抑制 http 响应并防止它关闭服务器。

如果我们在页面上进行过多的刷新,客户端会出现标题为“正在加载...”的空白页面 2 秒,然后正常页面加载。

为了使代码使用:“meta http-equiv="Refresh"”标签,并且由于某种原因在确定的情况下页面仍然不停地刷新。

我搜索了一些解决方案,发现这是 Chrome 的“问题”,显然没有解决方案。

我尝试使用 javascript 来验证客户端是否使用 Chrome,如果 Chrome 不使用 meta 标签刷新,请使用 javascript 进行刷新。

无论如何,Chrome 仍然表现出这种行为,这让我抓狂。

如果你想尝试,你可以访问 www.sport4u.com.br 访问页面上的任何产品或链接,当你得到空白屏幕时按 F5 多次(10 秒)加载标题按“历史返回”按钮,然后等等。

这是什么原因造成的,我该如何解决?

【问题讨论】:

  • 如果刷新页面的人可能会导致服务器宕机,那么您可能需要调查确切问题的原因,并考虑在服务器上实现一些缓存。我多次尝试刷新您的网站,但页面总是为我加载,没有任何问题。
  • @andyb,并没有真正让服务器宕机,而是大幅减速。在“正在加载”页面时,您必须点击产品,多次刷新并返回页面,并且必须使用Chrome。
  • 好的,哇,我现在可以看到刷新问题了!
  • 看,@andyb 这是个大问题。
  • @Guerra 不,老实说,我无法理解你所说的“Better the be **”是什么意思,而且我花了比它应该更长的时间来弄清楚你在你的问题中提出的问题比你使用正确的英语更好。

标签: php javascript html google-chrome


【解决方案1】:

您是否尝试过任何替代 "meta http-equiv='refresh'" 的方法?

在加载任何内容以重定向之前查看使用header();,因为该元标记已被贬值。

header("Location: index.php");
die();

【讨论】:

  • 嗨亚当,谢谢你的回答,我已经尝试了元 http 刷新的所有变体。我会试试这个标题命令,并在这里发布反馈。
【解决方案2】:

好的,这很奇怪,因为它似乎是由 Chrome 的自动翻译功能引起的。我正在使用在英文 Windows 7 上运行的 Chrome 24.0.1312.5 dev-m,当我加载 http://www.sport4u.com.br/ 时,页面每 2 秒自动重新加载一次。事实上,如果我查看页面源代码,我会得到以下信息:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />

<meta http-equiv="Content-Language" content="tr">
<script>
    window.setTimeout('window.location.reload(); ',2000);
</script>
<title>Loading...</title>
</head>


<body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" marginwidth="0" marginheight="0" bgcolor="#fff">

您可以立即看到reload() 代码。

Chrome 还弹出打开页面顶部的自动翻译栏,因为它认为该页面是葡萄牙语并提供翻译。然而,在第二次重新加载(2 秒后)时,Chrome 现在认为该页面是土耳其语(因为这是上面代码中的语言)!这种情况会持续很多次,直到 Chrome 最终停止。即使关闭顶部的翻译栏也不会停止重新加载。

如果我禁用 Chrome 翻译设置 (chrome://settings/search#languages) 并加载页面,则不会刷新,查看源代码会返回正确的页面。

我建议要么指示 Chrome 不刷新页面 - 请参阅 Why does Chrome incorrectly determine page is in a different language and offer to translate? 或修复某些字符的编码问题,这使 Chrome 认为页面使用了错误的语言。如果您通过W3C validator 运行该页面,它会显示一个错误编码的字符,可能是原因。

【讨论】:

  • Ty 寻求帮助。我会试试,andyb,是的,页面是葡萄牙语,但我认为这不是翻译问题,因为我在 Windows 和 Chrome 上将葡萄牙语作为母语,并且也得到了刷新。如果您使用任何其他浏览器访问,您可以看到该页面的预期行为,它只是阻止 mutch 刷新并在“阻止”2 秒后重新加载正常页面,这很简单。
  • Chrome 是否认为该页面是土耳其语的?另外,我的答案中的上述代码是从您的网站生成的吗?
  • 我不这么认为,因为它什么也没说。但它的东西。我将删除该标签,看看会发生什么。
  • andyb,我删除了 TR 的元标记,但没有解决。 :[ 看看 Chrome 是否要求翻译。
  • 是的,我现在只需按预期自动翻译成葡萄牙语。不过刷新也是固定的!
猜你喜欢
  • 1970-01-01
  • 2021-01-13
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 2015-09-14
  • 2016-07-23
  • 2018-04-27
  • 1970-01-01
相关资源
最近更新 更多