【问题标题】:Rails turbolinks long request doesn't show page loadRails turbolinks长请求不显示页面加载
【发布时间】:2013-02-24 23:10:07
【问题描述】:

在 Rails 中使用 turbolinks,如果请求需要很长时间,无论是否预期,浏览器都没有通常的提示来显示任何事情都在发生。

【问题讨论】:

    标签: ruby-on-rails turbolinks


    【解决方案1】:

    我创建了一个解决此问题的要点,它使用一个加载对话框来解决这个问题,如果请求花费超过 500 毫秒,该对话框会自动弹出,这是可配置的。

    https://gist.github.com/cpuguy83/5016442

    @PageSpinner =
      spin: (ms=500)->
        @spinner = setTimeout( (=> @add_spinner()), ms)
        $(document).on 'page:change', =>
          @remove_spinner()
      spinner_html: '
        <div class="modal hide fade" id="page-spinner">
          <div class="modal-head card-title">Please Wait...</div>
          <div class="modal-body card-body">
            <i class="icon-spinner icon-spin icon-2x"></i>
            &emsp;Loading...
          </div>
        </div>
      '
      spinner: null
      add_spinner: ->
        $('body').append(@spinner_html)
        $('body div#page-spinner').modal()
      remove_spinner: ->
        clearTimeout(@spinner)
        $('div#page-spinner').modal('hide')
        $('div#page-spinner').on 'hidden', ->
          $(this).remove()
    
    $(document).on 'page:fetch', ->
      PageSpinner.spin()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      相关资源
      最近更新 更多