代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

在RubyonRails中,如何将HTML作为一个文件中的部分,将另一个文件中的javascript作为最后一个包含的部分?

  •  1
  • nonopolarity  · 技术社区  · 14 年前

    很多时候,在一个部分中,HTML(或erb或haml)以及javascript都在一个文件中,所以当主文件包含这些部分时,HTML将与javascript代码混合在一起。

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

    (这与 If Javascript code block is not at end of HTML file, but is using jQuery's $(document).ready(function() {...}), will it slow down the page display? )

    1 回复  |  直到 14 年前
        1
  •  2
  •   bjg    14 年前

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

    版面设计:

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

    在您的观点/教区:

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

    <% content_for :footer %>
      <%= render :partial => "path_to_some_javascript" %>
    <% end %>