当前位置: 首页 > 面试题库 >

使用Rails 3.1,您将“特定于页面的” JavaScript代码放在哪里?

莫繁
2023-03-14
问题内容

据我了解,您所有的JavaScript都合并为1个文件。默认情况下,Rails在添加//= require_tree .application.js清单文件的底部时会执行此操作。

这听起来像是真正的救命稻草,但是我有点担心页面特定的JavaScript代码。此代码是否在每个页面上执行?我想要的最后一件事是,当只在一页上需要所有对象时,将为每页实例化我的所有对象。

此外,代码是否也可能发生冲突?

还是script在页面底部放置一个小的标签,该标签只是调用执行该页面javascript代码的方法?

然后,您不再需要require.js吗?

谢谢

编辑
:我感谢所有的答案…,我认为他们并没有真正解决问题。其中一些是关于样式的,似乎没有关系…而其他人只是提到javascript_include_tag…,我知道确实存在(显然…),但是看来Rails
3.1的发展方向是将所有内容都总结起来。您的JavaScript合并为1个文件,而不是在每个页面的底部加载单个JavaScript。

我能想到的最好的解决方案是div使用ids或classes
将某些功能包装在标签中。在JavaScript代码中,您只需检查页面上的idclass是否存在,如果是,则运行与其关联的JavaScript代码。这样,如果动态元素不在页面上,则JavaScript代码将不会运行-
即使application.jsSprockets打包的海量文件中也包含了该代码。

我上面的解决方案的好处是,如果搜索框包含在100个页面中的8个页面中,它将仅在这8个页面上运行。您也不必在网站的8个页面中包含相同的代码。实际上,您无需再在网站上的任何位置添加手动脚本标记。

我认为这是对我问题的实际答案。


问题答案:

我很感谢所有答案…而且我认为他们并没有真正解决问题。其中一些是关于样式的,似乎没有关系…而其他人只是提到javascript_include_tag…,我知道确实存在(显然…),但是看来Rails
3.1的发展方向是将所有内容都总结起来。将您的Javascript分成1个文件,而不是在每个页面的底部加载单个Javascript。

我能想到的最好的解决方案是div使用ids或classes
将某些功能包装在标签中。在javascript代码中。然后,您只需检查页面上的idclass是否存在,如果是,则运行与其关联的javascript代码。这样,如果动态元素不在页面上,则JavaScript代码不会运行-
即使application.jsSprockets打包的海量文件中也包含了JavaScript代码。

我上面的解决方案的好处是,如果搜索框包含在100个页面中的8个页面中,它将仅在这8个页面上运行。您也不必在网站的8个页面中包含相同的代码。实际上,您无需再在网站上的任何位置添加手动脚本标签-
只需预先加载数据即可。

我认为这是对我问题的实际答案。



 类似资料:
  • 问题内容: 设计网页时,应将以下代码放在哪里? 我应该把它放进去还是放进去?请澄清以下问题: 如果将其放在HTML代码中或其他位置,它将产生什么区别? 如果我有两个CSS(或Javascript)文件怎么办?由于我只能在一个文件之前添加一个文件,因此网络浏览器将使用哪个文件来显示网页? 问题答案: 我认为最好的做法是将CSS文件放在标题中 和结束标记之前的Javascript文件 另外,如果有的话

  • 问题内容: 我将所有活动都转换为片段,以便可以在ViewPager中使用它们。 我已经搜索过了,但是找不到满意的答案,所以这就是为什么我在这里问这个问题。 在我的活动中,我已经在该方法中编写了一些代码。例如,我调用some 以便将一些xml按钮链接到我的Activity。我还使方法中的所有视图在,设置,用文本填充和删除Notification时不可见。 我的问题是:我应将此代码放在片段的什么位置?

  • 问题内容: 您在Java项目上使用哪些代码分析工具? 我对各种感兴趣 静态代码分析工具(FindBugs,PMD和其他任何工具) 代码覆盖率工具(Cobertura,Emma等) 任何其他基于仪器的工具 还有什么,如果我想念什么 如果适用,还请说明您使用的构建工具以及这些工具与IDE和构建工具的集成程度。 如果仅以特定方式(例如,IDE插件或构建工具插件)提供工具,则该信息也值得注意。 问题答案:

  • 问题内容: 假设我对一种特定Linux实用程序(如)的源感兴趣。在哪里可以找到该实用程序的源代码? 问题答案: 我所做的是打字 然后走到最底下,找到“ GNU coreutils 6.10”。所以我用Google搜索了’coreutils’,然后…发现了刚刚链接到的网站joschi。

  • 我在用木商。我的结账页面有问题。 我所做的,只是更改了您丢失的密码在登录页面中的位置。我的意思是我在登录按钮上面添加了丢失的密码。 现在,我正在登录页面上获得正确的更改。(https://example.com/my-account/) 但当我在结账页面上点击登录时,我得到的是旧代码。您丢失的密码仍然显示在登录按钮下面。 登录页 签出页 我还需要修改什么吗?

  • 问题内容: 使用最简单的配置时, Spring Security 4中 生成的默认登录页面在哪里? 我正在使用此基本示例Web应用程序进行Spring Security。 问题答案: 它是从此类生成的: