我们可以在呈现页面时在页面中隐藏JavaScript注释吗?

问题描述 投票:7回答:10

这个问题似乎很愚蠢,只是我对此感到好奇。假设在我的html或aspx页面中,我为一些javascript代码添加了注释,当页面加载时,它将呈现为包含注释的页面。因为我认为注释将从执行中被忽略。渲染是否一样?有可能吗

  1. 注释用于描述代码的作用。所以下面我写了“这个替换图像”。我们可以隐藏渲染吗?

P.S:由于这个问题没有特别的原因,只是我很好奇。是否有可能。

$(".SomeID").slice(5, ExpandLength).each(function() {
                this.src = this.src.replace("some.gif", "som1.gif"); // this for replacing image 
            });
javascript jquery asp.net html browser
10个回答
3
投票

请查看YUI,以尽量减少您的JavaScript。部署删除注释时,您将需要使用类似的工具进行一些后处理。否则,您只需要粘贴相同的文件,人们就可以看到您的操作(就像html或直接提供给用户的其他任何内容一样。)

看这个问题可以得到一个好的答案:

YUI remove javascript comments

PS,我假设您的JavaScript位于.js或.html文件中,否则(如果位于asp,aspx或php文件中)关于使用服务器端注释的其他答案是最好的方法。

仍然..您的JavaScript应该在js文件中。它更容易管理:)


-1
投票

如果用脚本标签包围注释块,它们将不会打印到屏幕上


0
投票

前端注释(JS,HTML,CSS等)无法从渲染器中隐藏,但是.net注释,例如<%-- --%>未在源中呈现


0
投票

注释代码很好,但是在生产中使用javascript时,代码应尽可能紧凑。最好的选择是最小化生产代码。在互联网上搜索“最小化Java脚本”。


0
投票

您可能需要在构建时使用外部库手动转换javascript。例如。使用YUI Compressor库。

http://developer.yahoo.com/yui/compressor/

不幸的是,Javascript无法修改自身,因此在没有外部库的情况下,JS中没有固有的方法可以从Javascript中删除注释。


0
投票

渲染是一个应用于过程的两个不同阶段的术语。

  1. 当ASP生成一些输出以发送HTTP响应时
  2. 当浏览器解析HTML并为用户创建可见表示时

就ASP而言,JavaScript中的注释只是另一段文字。它与那段HTML或JavaScript的任何其他部分之间没有区别。因此,在第1阶段,它将被传递到浏览器。

当浏览器收到响应时,它会处理HTML和JavaScript,并生成网页供用户查看。当执行JavaScript时,注释具有特殊的意义(即应忽略),因此不会执行。

尽管它仍然是源代码的一部分。

为了避免必须通过服务器上的JavaScript解析器运行JavaScript,请删除注释,然后输出任何剩余的内容。

通常将JavaScript保留在外部文件中,并在将站点部署到服务器之前使用minifier(一种从JS中删除不需要的文本,例如注释和空白)的工具对其进行处理。


0
投票

如果您使用构建脚本缩小代码,则不仅这些注释将被删除,而且您的代码也将没有空格(字符串中除外),并且将在浏览器DOM中更快地呈现。这实际上是最佳做法。结帐

HTML 5样板构建脚本,YUI压缩或NetTuts Builder应用。


0
投票

可以免费使用多种工具来缩小JavaScript,包括Closure Compiler,JSMin或YUI Compressor。

您可以创建使用这些工具的构建过程,以最小化和重命名开发文件并将其保存到生产目录中。

专家建议缩小任何4096字节或更大的JS文件。

对于任何可以减少25个字节或更多的文件,您都应该看到一个好处(少于这个数目将不会带来明显的性能提升。)

参考:[http://code.google.com/speed/page-speed/docs/payload.html#MinifyJS](最小化有效负载大小)


0
投票

通过此压缩程序传递您的ASP代码,以查看它是否解决了JavaScript中的注释问题:

http://prettydiff.com/?m=minify&html


0
投票

我使用ASP.net核心,已将JS移至site.js并使用缩小功能。但是我仍然在视图中包含一些JS,并且不希望我的评论显示在GC中。在Asp.net core中,您可以使用:

@@您的隐藏评论* @代替//您可见的评论

© www.soinside.com 2019 - 2024. All rights reserved.