javascript - Turbolinks、Rails、后退按钮、其他来源的页脚

标签 javascript ruby-on-rails caching coffeescript turbolinks

我对涡轮链接有疑问。当我单击浏览器中的“后退”按钮时,会附加一个页脚。

application.html.slim中:

doctype html
html
  head
    title
      - unless content_for(:title).present?
        | Some text...
      - else
        == yield :title
    meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no'
    = csrf_meta_tags
    = stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload'
    = javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
    - if admin_admin_signed_in?
      = stylesheet_link_tag    'cms/application', media: 'all', 'data-turbolinks-track': 'reload'
      = javascript_include_tag 'cms/application', 'data-turbolinks-track': 'reload'

我从其他源 (application.coffee) 加载页脚:

$(document).on 'turbolinks:load', ->
    $('footer').get(0).innerHTML = ''
    for src in ['//other_site.com/goc/us/other_site.com/responsive.js', '//other_site.com/footer-builder.js']
      s = document.createElement('script')
      s.async = true
      s.src = src
      document.getElementsByTagName('head')[0].appendChild s

感谢您的提前关注!

最佳答案

正如@uzaif所说,对于特定的dom元素甚至类似情况下的页面,您应该将Turbolinks.clearCache()放入您的.js文件中。就我而言,我通过这种方式添加了以下代码:

application.coffee:

$(document).on 'turbolinks:load', ->
  $('footer').get(0).innerHTML = ''
  for src in ['//other_site.com/goc/us/other_site.com/responsive.js', '//other_site.com/footer-builder.js']
    s = document.createElement('script')
    s.async = true
    s.src = src
    document.getElementsByTagName('head')[0].appendChild s
  Turbolinks.clearCache()

请记住,它会降低页面加载速度,因此请确保进行应用程序分析

关于javascript - Turbolinks、Rails、后退按钮、其他来源的页脚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44374971/

相关文章:

javascript - D3 根据 header 名称追加

ruby-on-rails - 使用 ActionController::Live 流式传输在生产环境中不起作用

javascript - jQuery.ajax、缓存和时间戳

html - 缓存 list 和查询字符串

ruby-on-rails - 英雄库redis :info -a sushi returns nothing

javascript - 在模态中加载模型仅有效一次

javascript - 如何使用 javascript 查找并记录数组中最长的重复数字序列

javascript - sequelize 忽略 JSON 对象上的 "save()"方法

javascript - 有没有办法找到适用于网页的所有全局样式?

css - 已加载但未在 rails 4 中应用的 Assets