为什么人们添加<!--// ..-->他们的JavaScript代码
Why do people add <!--// ...//--> round their javascript code?
我记得几年前读过一些关于它的东西,但我现在已经不记得了。
它是否与IE有关并将其解析为纯文本...?
我想你的意思是 CDATA
源
这将修复验证器。问题是一些较旧的网络浏览器 不理解CDATA标签,所以这会破坏你的Javascript 那些网络浏览器。幸运的是,Javascript多行注释开始了 并以不会导致验证错误的字符结束。我们可以 因此,就Javascript而言,注释掉CDATA标签 Web 浏览器中的处理器在离开时仍然担心 就验证器而言,定义为CDATA的Javascript内容 关心。我们这样做:
<script type="text/javascript">
/* <![CDATA[ */
// content of your Javascript goes here
/* ]]> */
</script>
应该在JavaScript周围添加HTML注释标签<!--
和-->
,以防止不理解JS的旧浏览器将其显示为文本。最好将 JavaScript "注释到行尾"//
字符放在结束 HTML 注释标记的前面,这样 JavaScript 就不会将其解释为代码。从技术上讲,不了解JS的浏览器非常罕见,但它不会造成任何伤害,并且可能总共花费15个字节。
最后,我通常会做这样的事情,主要是出于习惯:
<script type="text/javascript">
<!--
var scriptHere="whatever";
//-->
</script>
我会在这里做一个疯狂的猜测......你的意思是这样吗:
<script type="text/javascript">//<![CDATA[
function doStuff() {
alert('Yadayadayada');
}
//]]></script>
(变体包括<!--
作为第一行,//-->
作为最后一行,因为<!--
也是 JavaScript 中的行注释。
它可能与旧版浏览器将其解释为文本有关,但在这方面,您绝对不必担心它。
另一部分是有效性。JavaScript 中使用的某些字符,例如,用于比较的 <
和 >
和 AND 操作&
,都不是有效的 XML。将它们放在 CDATA 块中使它们有效。但是,我不知道任何浏览器会因此而引起问题。
当然,处理此问题的最佳方法是使用 src
链接到外部脚本:
<script type="text/javascript" src="scripts/whatever.js"> </script>
它可以很好地将内容与行为分开,整理标记,利用缓存和并行下载,让您不必担心这样的事情。
- 模糊事件的Javascript测试
- AngularJs&Javascript嵌套函数&他们的调用
- 为什么人们添加他们的JavaScript代码
- 我需要使用他们的Facebook id javascript将Facebook照片流放入我的应用程序中
- 用户使用javascript生成的输入字段,如果验证失败,我如何将他们的数据填充回输入字段
- 我如何加载javascript模板与他们的id
- 网站是否有可能知道你是否编辑了他们的javascript变量?
- 哪些JavaScript框架目前支持用RequireJS加载他们的模块
- 是他们的一种方式,我可以将javascript嵌入到GWT代码
- 如何创建一个弹出,让用户键入他们的名字与javascript
- Javascript SQL攻击:有人在MySQL中插入了一个脚本,阻止我删除他们的行.我在这里有什么危险
- 如何保护我的javascript客户端,其中用户将填写他们的密码
- 如何在JavaScript中从较大的字符串中删除一些字符串,当我不这样做的时候'我不知道他们的立场
- 你能得到用户的滚动位置,每次他们滚动JavaScript/jQuery
- 我有输入按钮动态创建的javascript应该调用服务器c#函数,但他们没有
- HTML/Javascript组件,允许用户从项目列表中选择并排序他们的选择
- 我有一个javascript对象,我想通过id找到一个用户并更新他们的余额
- 他们说HTML中的javascript代码被认为是不好的做法,如何解决这个问题
- 为什么我的javascript Backbone.js模型共享相同的"实例“;他们的父类
- 阅读雄辩的Javascript,他们如何从文件中获取文本