javascript - 在 Rails 4 中使用 Sprockets 和 Turbolinks 时如何异步加载 javascript

标签 javascript ruby-on-rails sprockets turbolinks

我想包括zxcvbn.js到我的项目并实现一个密码强度计来配合我的 devise_zxcvbn gem。

但是,我不想通过 Sprockets 加载 zxcvbn.js

那么我该如何异步加载它并在加载后的 page:load 期间运行一些代码?

最佳答案

使用回调更新

我可能会使用 getScript 调用,以避免 sprockets 。只是一些 CoffeeScript ,检查有效的设备注册 url 或模式,具体取决于您的设置,然后添加:

$(document).on 'page:load', ->
  ZxcvbnWithTurbolinks

ZxcvbnWithTurbolinks =
  $.getScript('/js/zxcvbn.js').done((s, Status) ->
    console.warn Status
    # Do some other interesting stuff, like using the script you just fetched
    return
  ).fail (jqxhr, settings, exception) ->
    console.warn 'Something is hinky - not possible to check password strength' + exception
    return

关于javascript - 在 Rails 4 中使用 Sprockets 和 Turbolinks 时如何异步加载 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36531973/

相关文章:

javascript - 当我开始在文本框中打印时如何删除自动完成选择?

ruby-on-rails - 在系统启动时启动 Rails

ruby-on-rails - rails 渲染 :json method

ruby-on-rails - 使用回形针保存文件而不上传

heroku - 部署 Rails 3.1.rc4 时 sprockets 的问题

ruby-on-rails - 禁用 Assets 管道/sprockets rails 4.1

javascript - 如何每隔几秒在php中刷新一个具有打印语句和图像功能的div

javascript - Bootstrap Dropdown 在 React 中不起作用

javascript - 使用 JavaScript 的两个 Ajax 日期时间选择器之间的天数

javascript - 使用 Sprockets 丑化 JavaScript 代码