2016-09-18 81 views
0

我在rails3上,並且Turbo鏈接導致zendesk的鏈接不工作。Turbolink導致問題加載第三方javascript(zendesk)在下一頁

我正在使用zendesk腳本,並沒有加載下一頁,然後我已經使用腳本,提到here。它似乎在Chrome上運行良好,但在Firefox和Safari上,它仍然造成問題。

我已經包含以下行到我的佈局:

= javascript_include_tag 'zendesk', 'data-turbolinks-track' => true 

:javascript 
    document.addEventListener('page:change', zendesk_web_widget()); 

and zendesk_web_widget() is function that loading widget. 

找遍周圍的網絡並發現了一些解決方案,但不工作:

Rails 4 turbo-link prevents jQuery scripts from working

https://github.com/turbolinks/turbolinks-classic/issues/166

任何任何人有任何想法,請讓我知道。

回答

1

您正在將函數zendesk_web_widget的返回值傳遞給偵聽器,而不是函數本身。因此,而不是調用函數(()),試圖傳遞函數:

document.addEventListener('page:change', zendesk_web_widget); 

或者,使得包裝上的作用:

document.addEventListener('page:change', function() { zendesk_web_widget(); }); 

而且由於你使用jQuery,爲什麼不代碼使用jQuery。

$(document).on('page:change', zendesk_web_widget); 
+0

感謝Ollpu您的答覆,但是當我添加的包裝函數,然後它工作在Firefox,但不進Chrome和反向如果我刪除:( – Vik

+1

還要確保該功能已在初始頁面加載執行,以像'$(document).ready(zendesk_web_widget);' – ollpu

+0

謝謝@ollpu,它幫助我在一個級別上運行。 – Vik

相關問題