相关疑难解决方法(0)

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

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

这听起来像是一个真正的生命保护程序,但我有点担心特定于页面的JavaScript代码.此代码是否在每个页面上执行?我想要的最后一件事是,只需要在1页上需要为每个页面实例化我的所有对象.

此外,代码是否也存在冲突的可能性?

或者你是否script在页面底部放了一个小标签,只是调用一个执行页面javascript代码的方法?

那你不再需要require.js了吗?

谢谢

编辑:我很感谢所有的答案......我认为他们并没有真正解决问题.其中一些是关于造型而且似乎没有关联...而其他人只是提到javascript_include_tag......我知道存在(显然......)但是看起来Rails 3.1的方式将会包括所有的将您的JavaScript编入1个文件,而不是在每个页面的底部加载单独的JavaScript.

我能想到的最好的解决方案是divids或classes 包装标签中的某些功能.在JavaScript代码,你只要检查idclass在页面上,如果是,您在运行与之相关联的JavaScript代码.这样,如果动态元素不在页面上,则JavaScript代码不会运行 - 即使它已包含在application.js由Sprockets打包的大量文件中.

我的上述解决方案的好处是,如果在100个页面中的8个页面中包含搜索框,则它将仅在这8个页面上运行.您也不必在网站的8个页面上包含相同的代码.实际上,您永远不必在任何地方再次在您的网站上包含手动脚本标记.

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

javascript ruby-on-rails ruby-on-rails-3.1 sprockets asset-pipeline

386
推荐指数
11
解决办法
8万
查看次数

多个javascript/css文件:最佳做法?

我现在有大约7个Javascript文件(感谢各种jQuery插件)和4-5个CSS文件.我很好奇处理这些问题的最佳做法是什么,包括文档中应该加载哪些内容?YSlow告诉我,Javascript文件应该 - 如果可能 - 最后包括在内.身体的尽头?它提到了分隔符似乎是他们是否写内容.我所有的Javascript文件都是函数和jQuery代码(所有这些都在ready()时完成)所以应该没问题.

那么我应该包含一个CSS和一个Javascript文件,并包含其余的?我应该将所有文件连接成一个吗?我应该在文档的最末端放置Javascript我的标签吗?

编辑: FWIW是的,这是PHP.

html javascript css php jquery

55
推荐指数
1
解决办法
2万
查看次数

一个用于多页的JS文件

我通常将所有JavaScript脚本放在一个文件中scripts.js(例如,HTTP请求越少越好).因此,正如预期的那样,某些页面需要一些脚本,有些则不需要.

要定位特定页面,我使用以下内容:

if ($("body#share").length > 0) {
    // Place the logic pertaining to the page with ID 'share' here...
}

// The file / script continues...
Run Code Online (Sandbox Code Playgroud)

其他或更好的建议?谢谢!

澄清:不是在寻找将多个JS文件合并到一个大文件中并保留多个单独的JS文件之间的优缺点.对此的答案肯定是"取决于具体情况"(我们知道).我的问题是,假设我的所有JS逻辑都放在一个大文件中,如何在加载相应的页面时才使特定的(大块)脚本运行?我过去常做的一种方法是使用if ($('#id-of-target-element')) { /* run the script */}; 有没有更好的办法?

javascript filesystems

46
推荐指数
4
解决办法
5万
查看次数

一个大的javascript文件或多个较小的文件?

好吧,所以我有一个合理的大小项目,我正在使用jquery主干和其他几个javascript库.我想知道我的javascript库是否应该有一个文件而我的自定义代码应该有另一个文件.或者一堆单独的javascript文件.

javascript performance jquery web

45
推荐指数
4
解决办法
5万
查看次数

多个JavaScript文件合并为一个

我正在ASP.NET MVC中开发并使用多个JavaScript文件.例如jQuery,jQuery UI,Google Maps,我自己的JavaScript文件等.

为了表现,我应该将它们合二为一吗?如果是这样,怎么样?

javascript asp.net

3
推荐指数
1
解决办法
3216
查看次数