咖啡脚本不会在页面更改时触发,但适用于页面加载。
我在我的rails项目中使用coffee脚本,但问题是它只在我加载(刷新)页面而不是页面呈现时才有效,它也应该在页面视图更改时起作用。
这是我正在使用的脚本:
facebook.js.coffee
jQuery -> $('body').prepend('') $.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('') $.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() { // ... })