首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在css/jquery准备好之前停止显示web内容?

问如何在css/jquery准备好之前停止显示web内容?
EN

Stack Overflow用户
提问于 2012-07-27 22:05:21
回答 3查看 2K关注 0票数 2

我有一种巨大的web (很多图片,很多行javascript,复杂的样式表)。当浏览器加载所有内容时,在css/jquery加载之前,它显示的是纯html数据,没有样式,这看起来并不好。

奇怪的是,firefox似乎在这方面做得最多。其他浏览器看起来做得很好。

我怎么才能绕过这个问题呢?我考虑使用一些css/javascript指令启动索引,这将导致浏览器不显示任何内容( display : none?)直到内容准备就绪(如何准备?)。

对如何解决这个问题有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-27 22:42:57

我认为你可能想要更仔细地了解为什么会发生这个问题,但是,我可以帮助你解决它!

您可以使用先加载的不同样式表显示全部或全部DOM元素,然后使用jQuery的on load of doc删除该样式。

票数 1
EN

Stack Overflow用户

发布于 2012-07-27 22:32:15

把所有的脚本和样式表放在页眉中,不管人们怎么说总是把JS放在页脚,然后发挥魔力。

票数 0
EN

Stack Overflow用户

发布于 2021-01-12 04:18:07

就我的情况而言。我使用css onload来加载html内容,只有当css被加载时才加载。

代码语言:javascript
复制
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">      
        function insertContentAtEnd(u, id_script_pre_html, id_script_post_html) {var xhr = new XMLHttpRequest();xhr.open('GET', u, true);xhr.onreadystatechange = function () {if (this.readyState !== 4) {return;}; if (this.status !== 200) { return; } else { var el = document.createElement('div');document.body.appendChild(el); /* to place at end of document*/ el.innerHTML = this.responseText; if(s1){ eval(document.getElementById(s1).innerHTML);}if(s2){ eval(document.getElementById(s2).innerHTML);}  }; }; xhr.send();}
    </script>
    <link rel="stylesheet" href="/inc/css/default.css" onload="insertContentAtEnd('/lay/u/l/default.html','scr_u_l_pre','scr_u_l_post');"/>

</head>
<body></body>
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11689434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档