gpt4 book ai didi

javascript - 仅在某些操作中启用js功能

转载 作者:行者123 更新时间:2023-11-28 20:20:32 24 4
gpt4 key购买 nike

作者:this question我学到了一种聪明的技术,可以仅在某些页面上包含外部脚本。

但我知道遇到了一个后续问题:引用该脚本的函数(包含在 //= require_tree . 中)在所有其他页面(外部脚本所在的页面)上导致错误包括)。

我在 Rails 中的什么位置放置一个函数(或者如何编写它),其引用的外部脚本仅包含在将使用它的页面(操作)中,这样就不会产生错误在所有其他页面上?

最佳答案

我也一直在寻找这个问题的答案。

最后我意识到:

  1. 我喜欢 Assets 管道,并且我不想自己处理 Assets 。因此,我尽可能地尝试使用 Assets 管道处理所有 js 文件

  2. 使用 content_for 可以非常方便地包含仅在特定 View 上需要的 js 片段:

在布局文件(layouts/application.html.erb)上执行

  <%= yield :scripts %>

里面<head>标签

然后在您的特定 View 上写

<% content_for :scripts do %>
<script>
you js code goes here regularly
</script>
<% end %>

然后 Rails 就会知道获取该位并将其放入 :scripts 中这将确保您的 js 位仅在您真正需要时才加载

如果您想要特定文件:

将这些文件放在 asset/javascripts 下的文件夹中。我们称之为Others

Others地点 yourjs.js文件和 application.js list 不包含该树

现在,sprocket 不会获取 Others 中的文件。

然后你可以使用上面的方法 content_for包含特定文件

<% content_for :scripts do %>
<%= javascript_include_tag "Others/yourjs.js" %>
<% end %>

关于javascript - 仅在某些操作中启用js功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com