咖啡脚本不火的页面更改,但工作在页面加载.Rails[5]
Coffee Script not fire on page change, but works on page load. [Rails 5]
我在我的rails项目中使用咖啡脚本,但问题是它只在我加载(刷新)页面时起作用,而不是在页面呈现时,它也应该在页面视图更改上工作。
下面是我使用的脚本:
facebook.js.coffee
jQuery ->
$('body').prepend('<div id="fb-root"></div>')
$.ajax
url: "#{window.location.protocol}//connect.facebook.net/en_US/all.js"
dataType: 'script'
cache: true
window.fbAsyncInit = ->
FB.init(appId: env["app_id"], cookie: true)
$('#sign_in').click (e) ->
e.preventDefault()
FB.login (response) ->
window.location = '/auth/facebook/callback' if response.authResponse
$('#sign_out').click (e) ->
FB.getLoginStatus (response) ->
FB.logout() if response.authResponse
true
您可以尝试"turbolinks:load"
:
ready = ->
$('body').prepend('<div id="fb-root"></div>')
$.ajax
url: "#{window.location.protocol}//connect.facebook.net/en_US/all.js"
dataType: 'script'
cache: true
window.fbAsyncInit = ->
FB.init(appId: env["app_id"], cookie: true)
$('#sign_in').click (e) ->
e.preventDefault()
FB.login (response) ->
window.location = '/auth/facebook/callback' if response.authResponse
$('#sign_out').click (e) ->
FB.getLoginStatus (response) ->
FB.logout() if response.authResponse
true
$(document).on('turbolinks:load', ready)
https://github.com/turbolinks/turbolinks#running-javascript-when-a-page-loads
document.addEventListener("turbolinks:load", function() {
// ...
})
相关文章:
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- jQuery加载的async和ready函数不工作
- Javascript不工作/正在加载
- LokiJS自动加载回拨不工作
- 当加载几个js文件时,defer属性应该如何工作
- 在pjax完成其工作时加载脚本
- Scriptaculous dom:仅加载工作"有时“;
- 为什么动态加载的事件在我的代码中不能正常工作
- 加载Soundcloud嵌入式播放器OnClick在FireFox中不工作
- 我无法在发布页面上加载peoplepicker.js它'正在工作的SitePages
- 异步加载的SVG过滤器feColorMatrix在Chrome中工作,而不是在Safari或Firefox中
- php的ajax加载工作不正常
- 使弹出加载工作
- 如何控制页面加载工作流程
- 检查脚本是否加载工作有时
- 试图让jquery加载工作
- 如何es6模块加载工作
- 外部.js文件正在加载&工作,但jQuery在它不工作
- jQuery fn()正在加载/工作