【问题标题】:Site looks perfect from localhost, but not from server [closed]站点从本地主机看起来很完美,但不是从服务器 [关闭]
【发布时间】:2012-09-07 17:01:53
【问题描述】:

我偶然发现了一个非常奇怪的问题,我正在构建一个 HTML 模型,它在 localhost 的所有主要浏览器中都运行良好,但是当我将它上传到服务器时,事情变得很奇怪。

当我在 ChromeSafari 中从服务器加载我的网站时,标题(看起来我需要从本地主机)显示扭曲。但是当我重新加载页面时,它可能会正常显示。

两个位置的代码是相同的。服务器正在运行 apache 2.2.16

【问题讨论】:

  • 我已经在我的本地 Apache 设置 v2.2.17 上尝试过它,它就像一个魅力。你试过重新上传吗?某些文件可能已损坏或未正确添加。
  • @HenrikAmmer 我已经重新上传了很多次但结果相同。
  • 在我的服务器上进行了一些额外的重新加载后,它也在本地发生,但随后又切换回来。很奇怪。
  • 在我的 Apache 2.2.21 上看起来不错。
  • 这让我抓狂 grr :-)

标签: html css apache


【解决方案1】:

它来自一个从Adblock Plus Add-On 注入的 CSS。停用附加组件可以解决我在 Chrome 中的问题。

这是在关闭 </body> 之后从 Adblock Plus 注入的:

<link rel="stylesheet" type="text/css" href="data:text/css,">

【讨论】:

  • 啊,我讨厌那种东西。保留另一个配置文件或使用私有模式进行调试是值得的,但我必须再被这个咬了十几次,我才会本能地考虑检查这个。
  • 但如果安装了 Adblock Plus 的人发生这种情况,我们需要补偿对吧?有人在某处找到有关此问题的任何帖子吗?感觉就像把花车弄乱了。
  • 是的,我同意你们两个。 :-)
  • &lt;!DOCTYPE html&gt; 之后添加缺少的&lt;html&gt; 开始标签。 Adblock 应该将他的东西正确地注入到&lt;head&gt; 中。
  • @PavloMykhalov Grr,你是对的。服务器版本丢失再次打开&lt;html&gt;。 @user1327 在一小时前修复了它,但是 .. ehrm .. 现在它又不见了。我已经在一小时前在一个答案中提到过,然后当它指出它不能解决问题时,我删除了它。
【解决方案2】:

我想我找到了罪魁祸首(它现在每次都在我的本地 apacheserver 上工作):

.headblock {
    float: right;
    width: 650px;
}

(我删除了height: auto;

我还在 Chrome 中发现了一篇关于 height: auto 问题的帖子,http://productforums.google.com/forum/#!topic/chrome/ikmnUr22cyI。并且没有关于它正在修复的反馈。

不是这样的。我简化了页面并上传了一个小提琴,http://jsfiddle.net/KqVJ9/ 进行测试。

已修复?

它的这个更新版本,http://jsfiddle.net/KqVJ9/3/,一直对我有用。填充/边距可能与原始版本不完全相同,但我留给您修复的那些调整。 :)

【讨论】:

  • 我发现它在您的网站上删除后仍然无法使用。
  • 好的,我从服务器版本中删除了它,但它没有帮助。现在,如果我加载页面,然后单击 Chrome 中的地址框,然后按 Enter,它会加载而不会变形,但是如果我按 cmd+r(或 Windows 上的 ctrl+f5),它会加载混乱。
  • @user1327 这也是我在这里看到的。但不仅仅是因为你改变了它。之前是同样的行为。在 Chrome 网络面板中,我看到在关闭 &lt;/body&gt; 后向页面注入了一些奇怪的 CSS。我不知道它来自哪里。但是,当它在加载第一张图片时被加载时,它就会被弄乱。在图像完成加载后加载它看起来没问题。
  • @user1327 检查这个,jsfiddle.net/KqVJ9。这是您的页面的简化版本,具有更强大的浮动和定位。你能在你的服务器上试试那个版本吗?
  • 你能发布这个奇怪的 CSS 吗?
【解决方案3】:

您的测试服务器对我来说看起来不错。

不过,我想到了两件事(独立于 Apache):

  1. 您是否考虑过浏览器缓存?更新 CSS 文件时, 有时浏览器会使用较旧的缓存版本 文件。有关这方面的提示,请参阅 this question
  2. 文件和文件夹权限。上传到 Web 服务器时,权限通常会在每次上传时被覆盖,并且 依赖文件(例如 CSS 或 javascript 文件)不会 可从正在运行的 Apache 进程访问。

    我经常运行chmod -R 755 /path/to/my/webfolder/...

如果这仍然不起作用,我会查看 Apache.conf 文件,看看 localhost 和公共服务器之间是否有任何差异。想不出它会是什么......权限差异可能......

【讨论】:

  • 我不在本地机器上运行 Apache,因为这个页面是简单的 HTML,所以没有配置差异。而且我只有在使用 Chrome 或 Safari 浏览此页面时才会遇到此问题,在 FF 中这两个版本看起来都不错。
  • 这是一个旁注,但 localhost 意味着一个单独的服务器进程,如 Apache,正在通过 localhost 网络接口提供页面。它的 IP 地址为 127.0.0.1,主机名为“localhost”。在浏览器中打开文件,例如通过 File->Open,并不是一回事,但由于到目前为止这是一个原始的 html 和 css 页面,所以无论如何都没有区别。
猜你喜欢
  • 1970-01-01
  • 2013-02-17
  • 2016-03-27
  • 2021-08-04
  • 2015-01-07
  • 2014-06-14
  • 1970-01-01
  • 2013-12-15
  • 2018-04-14
相关资源
最近更新 更多