页面在Google Chrome中加载两次

时间:2010-01-05 21:05:00

标签: asp.net google-chrome

有没有人在Google Chrome中执行两次Page_Load有任何问题? 这是一个简短的问题,我不知道还有什么可以解释......

我有一个简单的asp.net页面,在Firefox和IE中它都运行良好。 但在Chrome中,Page_Load被解雇了两次......

任何人都有任何想法?

稍后编辑: - 奇怪的是我有4个中继器......用随机值绑定。随机方法被两次触发(因为页面加载了两次)但是转发器采用了INITIALLY值...所以,在渲染步骤之后,第二个帖子以某种方式被提升。

第3次编辑:仅在刷新时发生!

解决方案(在我的情况下):有一个空的img src,这就是原因

22 个答案:

答案 0 :(得分:39)

如果页面包含没有src属性的img标签(或者src为空等),我会在IE中注意到同样的问题。不确定Chrome是否做同样的事情,但值得检查,对吗?

答案 1 :(得分:11)

对我来说问题是因为扩展 Firebug Lite for Google Chrome 。停用后,页面只会加载一次。

答案 2 :(得分:6)

我有一个非常类似的问题: Chrome和Firefox加载页面两次, Internet Explorer加载一次。

问题在于我的.htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]

当浏览器请求favicon.ico时,我的index.php页面被调用,从而创建了对服务器的双重访问权限。 我的解决方案是创建一个favicon.ico,虽然我也可以使用index.php处理这种特殊情况,甚至.htaccess,但我还是需要一个favicon.ico:)

答案 3 :(得分:5)

我有同样的愚蠢问题。 页面加载两次,更新变为空白。

感谢这篇帖子,我查看了我的CSS表。

我删除了这一行:

body {     background-image:url(); }

那就是问题

答案 4 :(得分:4)

我最近有两次Chrome渲染问题,这个问题的原因是

<iframe src="#"></iframe>

一旦我将其设置为

<iframe></iframe>

或完全删除iframe,然后不再出现双重渲染。

答案 5 :(得分:1)

除了Chris Shaffer的答案让我走上了正确的轨道之外,我想补充一点,在我的情况下,还有一个带有空src的<script>标签导致问题。

也许它适用于所有带有空src的元素。

答案 6 :(得分:0)

就我而言,它是我的 index.html 文件头部的 <link rel="shortcut icon" href="#" /> 标记:

<html lang="en">
  <head>
  ...
  <link rel="shortcut icon" href="#" />
  ...
  </head>
  ...
</html>

我刚刚删除了那条线,问题就解决了。

答案 7 :(得分:0)

到目前为止,我已经使用Chrome多次测试ASP.NET页面,但从未遇到过这种情况。你在客户端做什么可能导致这种情况?你在做任何AJAX的东西吗?

答案 8 :(得分:0)

我遇到了同样的问题,一旦关闭JSON Viewer扩展,问题就解决了。 我可以推荐此扩展用于查看JSON,而不会产生额外的请求: https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa

答案 9 :(得分:0)

基于Johann的回复,我检查并禁用了google chrome中的每个扩展程序,并发现Flash扩展程序导致我的浏览器重新加载了两次。删除后,问题解决了!!

答案 10 :(得分:0)

这是另一篇关于为什么会发生这种情况的精彩文章:https://www.nczonline.net/blog/2009/11/30/empty-image-src-can-destroy-your-site/

我在ASP.NET网站上使用Chrome时遇到了同样的错误。当IsPostBack设置为False时,我再次触发页面生命周期。

这给我带来了各种各样的问题。

答案 11 :(得分:0)

这可能是其中一个扩展/插件的问题。尝试隐身模式 - 这对我有所帮助。

答案 12 :(得分:0)

我有同样的问题。但是我的“错误”位于我的css文件中。

我正在使用.htaccess将所有内容重写回我的根文件夹但已使用

background-image: url('../img/login_facebook.png')

在我的css文件中。我删除了..,问题就解决了。

答案 13 :(得分:0)

陷入同样的​​问题。我使用的是DOM Snitch。

我禁用了它,它立即停止了两次回复。

看了之后,它似乎包含2个没有href属性的标签。因为它是Chrome扩展程序,它会被注入到客户端的DOM中,我想这会导致Webforms页面回发两次。

如果有人看到这个,请务必检查您正在使用的任何扩展程序和/或插件。

答案 14 :(得分:0)

我也有这个问题。

有趣的是,我在整个“表单”标签中添加了“visible = false”,使页面完全为空 - 它仍然加载两次。我还调整了DOCTYPE,检查了img-tags的空源等等。

它仍然加载两次。

但我注意到这只发生在“localhost”上。远程网站工作正常。

我认为可能与DNS有关,但“127.0.0.1”也加载了两次。这让我疯了......

答案 15 :(得分:0)

基于Gecko的浏览器显然在标记不正确时执行此操作。这意味着XHTML和CSS。

以下是关于此问题的精彩帖子:http://www.110mb.com/forum/how-to-stop-firefox-dual-pageloads-t27704.0.html

这就是为什么当你有一个空白的src属性或一个空白的href属性时,你们中的一些人会遇到问题。语法不正确,浏览器将其读作“错误”。我想这是一种更不引人注意的错误类型,否则你甚至都不会注意到,但是由于你正在处理它的页面的性质,它变得明显并且表现为一个相当突兀的问题。

某些浏览器认为是“错误”,什么是“可通过”也可能略有不同,这可以解释为什么有些人在FF中遇到问题而不是在Chrome中,反之亦然。

感谢你不是在我的鞋子里。由于这个问题,我有一个页面发送了两次电子邮件,并且我无法修复坏标记,因为只有太多的内容可以解决在太多地方生成的问题,很多CSS和不幸的是,HTML问题也是动态驱动的。

我仍然不理解它抓住该页面的原因,虽然它遇到了这种性质的不合规问题但是。

答案 16 :(得分:0)

它也不喜欢空的href的

我有一个空的favicon链接标签,它做了同样的事情。无论谁说空src都把我放到了那里,只是剥掉了所有东西直到它开始工作

答案 17 :(得分:0)

如果你将你的图像标签src设置为#或为空,它将导致两次页面加载调用,我在chrome上和firefox之前面对这个。

您可以放置​​任何字符或字符串值而不是空或#来解决此问题。

答案 18 :(得分:0)

我在PHP和Firefox上遇到了类似的问题。

问题来自于Firefox解释为重新加载页面的错误样式定义。 我不记得究竟是什么,但在这个想法中,可能就像

.my_class    { background: url(#); }

我建议首先尝试隔离您的CSS,然后再检查您的HTML部分,以检查问题是否可能来自它。

答案 19 :(得分:0)

在Page_Load中,检查Page.IsPostBack和Page.IsCallback的值,看看它们在两次调用之间是否有所不同。如果它们不同,它可能是一些javascript重新执行或chrome重定向两次或类似奇怪的东西。

答案 20 :(得分:0)

我注意到当我切换到Chrome v.4(开发人员的频道)时,这种情况开始发生在我身上,以便我可以开始使用扩展程序。似乎没有v.3,稳定版本的问题。

答案 21 :(得分:-2)

我相信Google Chrome的运作方式。我在索引页面上放了一些代码来写入一个加载了文件名的文件,每次加载页面时(使用刷新或新窗口),它都会在文件中放入2个结果。

编辑:我将我的索引文件重命名为test.php并再次运行它。这次只有一个结果。这个问题让我感到沮丧。

编辑:我将我的文件重命名为index.php并运行它。同样的问题。然后我将我的.htaccess(对于mod_rewrite)重命名为htaccess,这样它就不会被解析而问题就消失了。在我发现这个之后,我在.htaccess文件中禁用了url重写,问题仍然消失了(最后)。我再做了一次测试(如果人们还在阅读这个废话),并发现当你从.htaccess文件重定向时谷歌加载了两次页面。我找到了一个似乎可以解决这个问题的小解决方法。

不确定这是否适用于asp.net。我只知道php编码和apache服务器。