我的网站中的用户在执行任何jQuery代码之前,每个页面上都会看到半秒小故障。此代码操纵页面,以便您可以在一个大块中看到元素移动,使用户体验感觉笨重。在JavaScript运行之前,我更喜欢页面根本不显示。
我在页面中使用Google API提供的jQuery,如下所示:
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1.3.2");
</script>
<script type="text/javascript" src="MyScript.js"></script>
在MyScript.js中:
google.setOnLoadCallback(runOnLoad);
function runOnLoad() {
// Do stuff
}
有人知道在浏览器中显示页面之前是否可以运行JavaScript?
答案 0 :(得分:7)
您可以在主div中添加一个隐藏内容的css类,然后删除该类作为MyScript.js的最后一件事。
在你的html模板中:
<body>
<div id="mainContent" class="hidden">
</div>
</body>
css类:
.hidden
{
display: none;
}
最近执行的MyScript.js声明:
$("#mainContent").removeClass("hidden");
答案 1 :(得分:0)
我同意Jan。
大多数(并非所有)浏览器在javascripts之前首先加载CSS。 所以CSS对你来说是可取的。