Javascript 什么时候是从html标记中删除无js类的最佳时间
一、 和大多数开发人员一样,他们希望知道什么时候使用js,什么时候不使用js,并相应地对网站进行风格设计 然后,我使用它,几乎是在标题下,尝试在页面设置样式之前将类从标记中删除,而不是使用jQuery就绪函数来防止页面跳转Javascript 什么时候是从html标记中删除无js类的最佳时间,javascript,jquery,html,Javascript,Jquery,Html,一、 和大多数开发人员一样,他们希望知道什么时候使用js,什么时候不使用js,并相应地对网站进行风格设计 然后,我使用它,几乎是在标题下,尝试在页面设置样式之前将类从标记中删除,而不是使用jQuery就绪函数来防止页面跳转 <script>var a=document.getElementsByTagName("html")[0];a.className&&(a.className=a.className.replace(/no-js\s?/, ''));</s
<script>var a=document.getElementsByTagName("html")[0];a.className&&(a.className=a.className.replace(/no-js\s?/, ''));</script>
var a=document.getElementsByTagName(“html”)[0];a、 className&(a.className=a.className.replace(/no js\s?/,“”));
这是,还是这不是一个好的做法?如果不是,应该去哪里。资料来源请备份您的答案
考虑页面准备速度、用户体验和SEO。中的
是防止“未定型内容闪现”的最佳场所。即使是受欢迎的图书馆:
我们建议将Modernizr放在头部的原因有两个:HTML5 Shiv(在IE中启用HTML5元素)必须在
之前执行,如果您使用Modernizr添加的任何CSS类,您将希望防止FOUC
在
中,是防止“未格式化内容闪现”的最佳场所。即使是受欢迎的图书馆:
我们建议将Modernizr放在头部的原因有两个:HTML5 Shiv(在IE中启用HTML5元素)必须在
之前执行,如果您使用Modernizr添加的任何CSS类,您将希望防止FOUC
当您可以安装无js样式表时,没有理由使用无js类
<link href="/css/styles.css" type="text/css" rel="stylesheet" />
<noscript>
<link href="/css/nojs.css" type="text/css" rel="stylesheet" />
</noscript>
用javascript做这件事似乎不合适。您的javascript中会有一行任意代码,它可以从元素中删除一个类,而对所说的javascript来说没有任何重要的原因。更不用说呈现no-js版本然后呈现js版本的成本了,因为在呈现开始后删除了类
使用无js样式表应该会提高(即使只是稍微提高)站点js版本的性能,并让您可以自由地移动和更改脚本,而不必担心它会影响无js类的删除,因为js与此无关
如果您绝对坚持使用javascript来实现这一点,我建议在所述元素之后立即使用内联javascript
<body class="no-js">
<script>
//document.body.className = "";
document.body.classList.remove("no-js");
</script>
//document.body.className=“”;
document.body.classList.remove(“no js”);
当您可以安装无js样式表时,没有理由使用无js类
<link href="/css/styles.css" type="text/css" rel="stylesheet" />
<noscript>
<link href="/css/nojs.css" type="text/css" rel="stylesheet" />
</noscript>
用javascript做这件事似乎不合适。您的javascript中会有一行任意代码,它可以从元素中删除一个类,而对所说的javascript来说没有任何重要的原因。更不用说呈现no-js版本然后呈现js版本的成本了,因为在呈现开始后删除了类
使用无js样式表应该会提高(即使只是稍微提高)站点js版本的性能,并让您可以自由地移动和更改脚本,而不必担心它会影响无js类的删除,因为js与此无关
如果您绝对坚持使用javascript来实现这一点,我建议在所述元素之后立即使用内联javascript
<body class="no-js">
<script>
//document.body.className = "";
document.body.classList.remove("no-js");
</script>
//document.body.className=“”;
document.body.classList.remove(“no js”);
你说的“跳跃”是什么意思?这不是noscript标记的作用吗?不幸的是,用noscript包装html标记无效。你说的“跳跃”是什么意思?这不是noscript标记的作用吗?不幸的是,用noscript包装html标记无效