Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么时候是从html标记中删除无js类的最佳时间_Javascript_Jquery_Html - Fatal编程技术网

Javascript 什么时候是从html标记中删除无js类的最佳时间

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

一、 和大多数开发人员一样,他们希望知道什么时候使用js,什么时候不使用js,并相应地对网站进行风格设计

然后,我使用它,几乎是在标题下,尝试在页面设置样式之前将类从标记中删除,而不是使用jQuery就绪函数来防止页面跳转

<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标记无效