【问题标题】:get scriptaculous helper drop_receiving_element to not generate "<script>" tags让 scriptaculous 助手 drop_receiving_element 不生成“<script>”标签
【发布时间】:2008-11-25 19:20:49
【问题描述】:

有没有办法让 drop_receiving_element 不生成 "// ..

【问题讨论】:

    标签: ruby-on-rails ruby scriptaculous


    【解决方案1】:

    drop_receiving_element 的代码是

    def drop_receiving_element(element_id, options = {})
      javascript_tag(drop_receiving_element_js(element_id, options).chop!)
    end
    

    javascript_tag 是添加脚本标签的地方,所以看起来你应该可以将它们排除在外,然后自己输入。

    drop_receiving_element_js(element_id, options).chop!
    

    注意:它可能是私有方法,在这种情况下只需使用

    send(:drop_receiving_element_js, element_id, options).chop!
    

    【讨论】:

      【解决方案2】:

      我不确定你想要实现什么(脚本助手工作在标签中编写脚本)。但是,如果您想要将代码放在其他地方,例如页面底部,因为上次加载 javascript 会使页面看起来更快,您可以使用content_for

      <% content_for :inline_javascript do %>
         <%# Script helpers here %>
      <% end %>
      

      然后在底部(或任何你想要的地方),放置这条线:

      <%# Include tags for other Js code the inline scripts rely on above here %>
      <%= yield :inline_javascript %>
      

      这不适用于异步内容 (ajax),但另一方面,当您使用 ajax 内容更新页面时,包含的其他脚本已全部加载。

      (您可以编写自己的助手,根据请求类型,使用 content_for 变量或内联编写脚本标签。我之前做过一个,如果您需要我可以尝试定位它)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-12-30
        • 2021-10-01
        • 2011-12-26
        • 2011-03-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多