如果用户禁用了javascript,我正在使用noscript
在页面顶部显示横幅广告。它类似于禁用浏览器JS时使用的SO。
我的问题是,如果您访问该页面,它会显示noscript
原始文本,但未应用CSS
个样式。如果按F5或单击刷新按钮,则突然CSS
适用,警告将获得正确的红色背景和粗体大文本。
为什么会这样?我在Chrome(最新)和IE10 ......以及旧的IE8和FireFox 3.x系列中都有这种行为。
这是我的noscript
标记,位于页面正文中:
<noscript><div id="noscript-frame">Website.com works best with JavaScript enabled</div></noscript>
CSS
看起来像:
#noscript-frame{
background-color: #AE0000;
color: #FFFFFF;
font-weight: bold;
font-style: normal;
font-size: 1.5em;
font-family: "Verdana", Arial, Helvetica, sans-serif;
vertical-align: middle;
text-align: center;
}
当你第一次加载页面时,它看起来像这样没有应用任何样式,只是原始文本:
Website.com works best with JavaScript enabled
当你刷新页面时,它会应用样式,一切看起来都不错。
我有什么想法可以解决这个问题?我尝试在不使用div
标记的情况下填充noscript
然后让javascript在页面加载时隐藏它的内容,但这会导致页面加载时臭名昭着的屏幕闪烁......