我是一名多年的网络开发人员,对网站和开发有很多了解。但是这个问题离我的理解还很远,我以前从未遇到过它,对我来说它看起来很神秘。
我在主服务器和域上有 HTML 网站,它在那里工作正常,所有文件都已加载并且设计看起来应该如此。 现在,我已经将同一个网站、所有相同的文件移动到一个新的服务器和域,而该网站在没有触及任何东西的情况下就崩溃了。它在工作,但设计看起来不像它应该的那样,Javascript 在控制台中抛出错误,设计结构丢失。所有需要的文件都已加载,我可以在 Chrome 开发人员工具的网络选项卡中看到,但网站设计结构丢失且 JS 脚本无法正常工作。现在这是有趣的部分。如果我将同一个网站从新服务器转移到主服务器,该网站再次看起来不错。我整天都在伸脑袋,找不到任何问题。 我还尝试在 WAMP 上本地运行相同的网站,或者甚至只是从桌面运行相同的网站,因为它只是 HTML,并且该网站在新服务器中已损坏。
主要网站 URL:[已解决问题,已删除] 新服务器的网站 URL:[已解决问题,已删除]
有什么想法吗?有人遇到过这个吗?
编辑:
问题已找到并修复。这是编码问题。将文件从一台服务器传输到另一台服务器时,文件的编码发生了变化。
最佳答案
"new"站点上存在三个错误。两个是来自 bootstrap.min.js
和 prettyphoto.js
的解析错误。这些文件在旧站点和新站点之间是不同的。看起来这可能只是换行符的问题,可能是传输文件时的编码问题。
第三个错误来自 main.js
,因为 $.affix
不是函数。词缀插件由 bootstrap 添加,可能由于解析错误而无法正常工作。
我猜如果您将 bootstrap.min.js
和 prettyphoto.js
从旧站点重新复制到新站点,它会解决问题。
进一步查看 bootstrap.min.js
和 prettyphoto.js
,这两个文件中都有一些无意义的字符。这证明这是一个编码问题,可能是在将文件从一个地方复制到另一个地方时引入的。
prettyphoto.js
be/"),movie_id=mov��\��\��Z��Y��\��\��\&")>0&&(movie_id=
bootstrap.min.js
).each(function(){YaYaКV�bhYa Ya�Yaunction(){var d=a
@Herohtar 指出两个版本文件的编码不同:旧站点的windows-1257
和新站点的GBK
。文件可能已被编辑(例如在 IDE 或文本编辑器中)并保存,并且编辑器中的默认编码与原始编码不同,并且没有正确重新编码(或解析原始编码)。
关于javascript - 迁移服务器后 HTML 网站停止正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56404275/