通常编写 JavaScript 是为了与页面上的特定元素进行交互。如果是这样,浏览器将评估每个页面上的 JavaScript,但只有在存在适当的页面元素时才会激活它。该页面所需的 JavaScript 可以是站点范围的 application.js 脚本的一部分,也可以通过视图模板或应用程序布局中的 javascript_include_tag 语句包含在页面中。
JavaScript 执行可以通过以下方式确定
- 页面上存在独特元素或
- HTML body 标签中的属性。
更有条理的方法是测试 HTML body 标签中的属性:
- 在页面的 body 元素上设置 class 或 id 属性。
- 在 JavaScript 中使用解析这些类或 id 并调用适当函数的函数。
首先,您必须修改应用程序布局。替换app/views/layouts/application.html.erb文件<body>
中的语句:
<body class="<%= params[:controller] %>">
假设页面由 Projects 控制器生成,呈现的页面将包括:
<body class="projects">
在您的 JavaScript 代码中使用此条件:
$('document').ready(function() {
if ($('body.projects').length) {
console.log("Page generated by the projects controller.");
}
});
(...来自RailsAppsProject,“Unholy Rails:向 Rails 添加 Javascript”。阅读!