大佬教程收集整理的这篇文章主要介绍了使用Rails 3.1,您将“特定于页面的” JavaScript代码放在哪里?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我很感谢所有答案…而且我认为他们并没有真正解决问题。其中一些是关于样式的,似乎没有关系…而其他人只是提到JavaScript_include_tag
…,我知道确实存在(显然…),但是看来Rails
3.1的发展方向是将所有内容都总结起来。将您的JavaScript分成1个文件,而不是在每个页面的底部加载单个JavaScript。
我能想到的最好的解决方案是div
使用ID
s或class
es
将某些功能包装在标签中。在JavaScript代码中。然后,您只需检查页面上的ID
或class
是否存在,如果是,则运行与其关联的JavaScript代码。这样,如果动态元素不在页面上,则JavaScript代码不会运行-
即使application.Js
Sprockets打包的海量文件中也包含了JavaScript代码。
我上面的解决方案的好处是,如果搜索框包含在100个页面中的8个页面中,它将仅在这8个页面上运行。您也不必在网站的8个页面中包含相同的代码。实际上,您无需再在网站上的任何位置添加手动脚本标签- 只需预先加载数据即可。
我认为这是对我问题的实际答案。
据我了解,您所有的JavaScript都合并为1个文件。默认情况下,Rails在添加//= require_tree
.
到application.js
清单文件的底部时会执行此操作。
这听起来像是真正的救命稻草,但是我有点担心页面特定的JavaScript代码。此代码是否在每个页面上执行?我想要的最后一件事是,当只在一页上需要所有对象时,将为每页实例化我的所有对象。
此外,代码是否也可能发生冲突?
还是script
在页面底部放置一个小的标签,该标签只是调用执行该页面javascript代码的方法?
然后,您不再需要require.js吗?
谢谢
编辑
:我感谢所有的答案&Hellip;,我认为他们并没有真正解决问题。其中一些是关于样式的,似乎没有关系&Hellip;而其他人只是提到javascript_include_tag
&Hellip;,我知道确实存在(显然&Hellip;),但是看来Rails
3.1的发展方向是将所有内容都总结起来。您的JavaScript合并为1个文件,而不是在每个页面的底部加载单个JavaScript。
我能想到的最好的解决方案是div
使用id
s或class
es
将某些功能包装在标签中。在JavaScript代码中,您只需检查页面上的id
或class
是否存在,如果是,则运行与其关联的JavaScript代码。这样,如果动态元素不在页面上,则JavaScript代码将不会运行-
即使application.js
Sprockets打包的海量文件中也包含了该代码。
我上面的解决方案的好处是,如果搜索框包含在100个页面中的8个页面中,它将仅在这8个页面上运行。您也不必在网站的8个页面中包含相同的代码。实际上,您无需再在网站上的任何位置添加手动脚本标记。
我认为这是对我问题的实际答案。
以上是大佬教程为你收集整理的使用Rails 3.1,您将“特定于页面的” JavaScript代码放在哪里?全部内容,希望文章能够帮你解决使用Rails 3.1,您将“特定于页面的” JavaScript代码放在哪里?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。