1

很多时候,部分 HTML(或 ERB 或 HAML)以及 Javascript 都在一个文件中,因此当主文件包含这些部分时,HTML 将与 Javascript 代码混合。

但是,据说为了快速显示页面内容,所有的 Javascopt 代码都应该放在 HTML 文件的末尾。在这种情况下,是否有适当或标准的方法来实现这一点?也许使用 1 个部分作为 HTML,1 个部分作为 Javascript,并包含 2 个不同的部分(HTML 作为正确的位置,而 Javascript 靠近文件末尾?)

(这与如果 Javascript 代码块不在 HTML 文件末尾,而是使用 jQuery 的 $(document).ready(function() {...})有关,会减慢页面显示速度吗?

4

1 回答 1

2

在您的布局文件中,您可以放置​​一个页脚,您可以在其中加载您的 Javascript(通常是不需要提前加载的分析之类的东西)。然后在您的视图中定义 a content_for,其中包括您的 Javascript 部分。结果是 Javascript 将被放置在页面的末尾。

在布局中:

<div id="footer">
  <%= yield :footer %>
</div>

在您的意见/paritals 中:

<% content_for :footer %>
  <script type="text/javascript">
     // Some Javascript
  </script>
<% end %>

或者

<% content_for :footer %>
  <%= render :partial => "path_to_some_javascript" %>
<% end %>
于 2010-07-20T23:33:38.987 回答