【问题标题】:Inline Javascript: Is it a good practice?内联 Javascript:这是一个好习惯吗?
【发布时间】:2013-10-21 18:23:20
【问题描述】:

我有许多视图模板,其中我有特定于该视图的内联 javascript。

例如:

app/views/something/index.html.haml
.some-id
  %h4 Something

#this javascript is not reused anywhere. Used only in this view
:javascript
  $(document).ready(function() {
    $('.some-id').addClass('something')
  })

拥有上述观点是一种好习惯吗?

跨多个视图维护内联 javascript 绝对是一件痛苦的事。所以我开始慢慢地将它们移动到一个单独的 javascript 文件中。但我不确定这是否是一件好事,因为现在所有页面的所有 javascript 都将执行。

那么,放置特定视图的 javascript 的最佳位置是哪个?

【问题讨论】:

    标签: javascript ruby-on-rails haml


    【解决方案1】:

    如果您担心页面加载时间,您应该使用loadjs 之类的东西。像这样将 JS 放在您的视图中是不可维护的。对于超级简单的项目也许可以,但总的来说你应该远离它。

    另外需要注意的是,浏览器会在从文件加载 javascript 时对其进行缓存。当它是内联的时,他们不能这样做,因为每次页面加载都会呈现 HTML。因此,即使没有 loadjs,您在内联时也可能会看到整体性能损失。

    【讨论】:

      猜你喜欢
      • 2010-09-11
      • 1970-01-01
      • 2011-07-17
      • 2011-03-02
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-03
      相关资源
      最近更新 更多