Javascript Ctrl+;F5会导致页面跳转,但F5不会

Javascript Ctrl+;F5会导致页面跳转,但F5不会,javascript,jquery,html,css,firefox,Javascript,Jquery,Html,Css,Firefox,我在Firefox浏览器中的一个客户端网页上发现了这种奇怪的行为 当我清除缓存并刷新,或者使用Ctrl+F5刷新页面时,页面的格式会被扭曲 紧接着,如果我按F5(而不是Ctrl+F5),页面将正确加载 我尝试根据链接和重置浏览器 我还搜索了firefox的网络和各种论坛,但没有解决这个问题 Firefox版本是41,但我认为问题在于所有版本 这是很好的工作是铬 出现问题的URL为 下面的截图也有助于理解我的问题 请帮忙 您有,其宽度在CSS中设置为911px。 然后在$(document.re

我在Firefox浏览器中的一个客户端网页上发现了这种奇怪的行为

当我清除缓存并刷新,或者使用Ctrl+F5刷新页面时,页面的格式会被扭曲

紧接着,如果我按F5(而不是Ctrl+F5),页面将正确加载

我尝试根据链接和重置浏览器

我还搜索了firefox的网络和各种论坛,但没有解决这个问题

Firefox版本是41,但我认为问题在于所有版本

这是很好的工作是铬

出现问题的URL为

下面的截图也有助于理解我的问题

请帮忙

您有
,其宽度在CSS中设置为911px。 然后在
$(document.ready()
事件中将脚本的宽度更改为100%

现在,在加载所有同步JavaScript文件和文档本身之前,ready事件无法触发。在带素数的缓存上,JavaScript文件的加载速度会更快,因此就绪事件会更快地触发,在您注意到之前将页面宽度设置为100%

但是,在空缓存上,加载JavaScript文件需要更长的时间。浏览器可能会在启动就绪事件之前呈现页面的某些部分。事实上,第二个屏幕截图显示了“从…传输数据”状态,这(很可能)意味着页面尚未加载

解决方案:

要防止页面在加载时跳转,需要通过JavaScript设置页面宽度,不能等到文档准备就绪/页面加载。一种解决方案是内联更改页面宽度的JavaScript代码。首先定义这些CSS类:

#page { width: 911px; }
#fullwidth + #page { width: 100%; }
然后插入几行内联JavaScript:

<script>
if (mustBeFullWidth) {
    document.write('<div id="fullwidth"></div>');
}
</script>
<div id="page">
    <!-- content -->
</div>

if(mustBeFullWidth){
文件。写(“”);
}
您有
,其宽度在CSS中设置为911px。 然后在
$(document.ready()
事件中将脚本的宽度更改为100%

现在,在加载所有同步JavaScript文件和文档本身之前,ready事件无法触发。在带素数的缓存上,JavaScript文件的加载速度会更快,因此就绪事件会更快地触发,在您注意到之前将页面宽度设置为100%

但是,在空缓存上,加载JavaScript文件需要更长的时间。浏览器可能会在启动就绪事件之前呈现页面的某些部分。事实上,第二个屏幕截图显示了“从…传输数据”状态,这(很可能)意味着页面尚未加载

解决方案:

要防止页面在加载时跳转,需要通过JavaScript设置页面宽度,不能等到文档准备就绪/页面加载。一种解决方案是内联更改页面宽度的JavaScript代码。首先定义这些CSS类:

#page { width: 911px; }
#fullwidth + #page { width: 100%; }
然后插入几行内联JavaScript:

<script>
if (mustBeFullWidth) {
    document.write('<div id="fullwidth"></div>');
}
</script>
<div id="page">
    <!-- content -->
</div>

if(mustBeFullWidth){
文件。写(“”);
}

我用Edge浏览器进行了测试,一切正常。Firefox 43似乎还可以。。。但是您是否检查了控制台并看到了该页面上的所有错误?很难相信你做了这么多错误的面向公众的网站我说得太快了。。。它是间歇性的,但与f5与ctrl-f5无关。。。有时(很少)f5会导致页面加载错误,有时(也很少)ctrl-f5会导致页面加载错误。。。也许这与一些javascript有关,因为代码不好而没有运行,根据时间的不同,一些重要的东西在某些情况下没有运行<代码>使用document.write()编写了一个不平衡的树,导致来自网络的数据被重新解析。-严重吗<代码>文档。编写?难怪你有问题我用Edge浏览器测试了一下,一切都很好。Firefox43看起来还不错。。。但是您是否检查了控制台并看到了该页面上的所有错误?很难相信你做了这么多错误的面向公众的网站我说得太快了。。。它是间歇性的,但与f5与ctrl-f5无关。。。有时(很少)f5会导致页面加载错误,有时(也很少)ctrl-f5会导致页面加载错误。。。也许这与一些javascript有关,因为代码不好而没有运行,根据时间的不同,一些重要的东西在某些情况下没有运行<代码>使用document.write()编写了一个不平衡的树,导致来自网络的数据被重新解析。-严重吗<代码>文档。编写?怪不得你有问题,希萨尔曼,谢谢你的领导。我的团队中没有设计师,这是一个很大的缺点。但是,我尝试添加window.setTimeout,以便延迟脚本的执行,但没有效果。你能给我指路吗?嗨,萨尔曼,非常感谢你。将实施您的解决方案并向您提供我的发现。向上投票。嗨,萨尔曼,谢谢你的领导。我的团队中没有设计师,这是一个很大的缺点。但是,我尝试添加window.setTimeout,以便延迟脚本的执行,但没有效果。你能给我指路吗?嗨,萨尔曼,非常感谢你。将实施您的解决方案并向您提供我的发现。向上投票。