javascript - 即使被注释掉,jQuery 代码仍然会被执行

标签 javascript jquery ruby-on-rails ruby-on-rails-3 comments

我有一个基本的 .js 文件,里面有这个

//$('#show').html('<%= escape_javascript(render(:partial => 'show')) %>');

当调用 .js 文件时,上面的代码将被执行,并且即使被注释掉,也会呈现部分代码。当代码被删除时,部分永远不会被渲染。 DOM 保持不变,但我可以在命令行看到服务器渲染的部分内容。给出了什么?

最佳答案

您正在注释掉在客户端执行的 JavaScript。

在客户端看到渲染的 JavaScript 之前,部分渲染发生在服务器端。

换句话说,注释掉 JavaScript 对服务器端处理的影响为零。如果您不想显示服务器端字符串,请将其注释掉:

<%#= escape_javascript(etc) %>
<小时/>

让我们假设部分渲染如下:

<h1>Foo bar baz</h1>
<div>Plugh!</div>

对 JavaScript 进行转义会将换行符转换为 \n (并且会转义单引号和双引号等),从而在客户端留下以下内容:

$('#show').html('<h1>Foo bar baz</h1>\n<div>Plugh!</div>');

无论 JS 是否被注释掉,除非您注释掉 escape_javascript Ruby 代码的结果,否则部分内容都会呈现。

在客户端,如果 JS 被注释掉,它不应该更新 show 的 HTML——你是说是这样吗?

关于javascript - 即使被注释掉,jQuery 代码仍然会被执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10664025/

相关文章:

c# - IIS WebSocket 模块未启用

jquery - 在 select with optgroup 中使用 selectedOptions Knockout 绑定(bind)来预选择多个值

ruby-on-rails - Ruby 2.2 在 Heroku 上有内存问题吗?

ruby-on-rails - 我运行命令 "rake test"并收到此错误

ruby-on-rails - Rails 验证小于 0 或大于 0,或字段不等于 0

javascript - 如何处理 <Empty Div>

javascript - 从 Twig 中的数组键中删除 ""括号

javascript - 如何在 AngularJs 中注入(inject)模块的 2 个不同实例

jquery - 输入类型 ="Range"未在 PhoneGap IOS 应用程序中刷新

javascript - 如何在同一页面显示超过一个月