在将页面加载到jquery或js中之前,我无法运行一些代码。我做的任何页面加载都会很短暂,然后我的代码就会运行。我在用户看到页面之前运行了代码,但是它在短毫秒内加载,然后我的代码开始运行。
我已经做了一些解决方案,但没有做我想做的事情:
document.ready
之前onload()
但结果相同:我的代码在毫秒后运行,并且用户在这些毫秒内运行代码之前先查看页面
有什么想法吗?
答案 0 :(得分:1)
您可以通过document.readyState
将代码置于文档的“加载”状态,但是在此状态下DOM尚未准备就绪。这里有您如何使用document.readyState
https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState#Different_states_of_readiness的示例,您实际上想做什么?
答案 1 :(得分:1)
<head>
中的脚本将在此之前运行,但是无法访问页面上的元素。
试试这个代码
<body>
<script type="text/javascript">
alert("After click ok you'll see the page content!!!");
</script>
rest of the page
</body>
答案 2 :(得分:0)
您不应该在<head>
中输入任何代码
我的建议是使用加载程序,因此使用CSS display:none
使body标签不可见
因此您的代码将像页面尚未加载一样运行。
然后您添加$(document).ready({$('body').css('display','block')})
答案 3 :(得分:0)
从隐藏正文开始,并在执行代码后显示它。
<html>
...
<body style='display:none'>
...
<script>
$(document).ready( function() {
...
$(document.body).show();
})
</script>
</body>
</html>
答案 4 :(得分:-2)
jQuery和Javascript是客户端语言,在页面加载时由浏览器读取。
通常,我们会使用类似的东西:
$(document).ready(function(){
//do stuff
});
这是为了确保在运行JS函数之前已将元素加载到屏幕上,以确保已加载脚本所需的任何元素。
您似乎正在做的事是在页面加载的同时运行脚本,因此脚本中可能有某些内容阻止HTML的其余部分在运行时加载,这就是为什么看到加载时间的原因
您应该看一下PHP。 (超文本预处理器)这是服务器端语言,而不是客户端。因此,它会预处理您想要的服务器端内容,然后将其发送给用户客户端/浏览器。