Skip to content

Commit 6bc54ca

Browse files
author
Jason Tanner
authored
Add support for Turbolinks 2.X
Intercom is not configured to work with Turbolinks. This commit forces Intercom to reload it's messenger when a new page loads via the following line of code: document.addEventListener('page:load', l, false) This was inspired by the following PR: intercom#215 I am testing this branch via Intercom's instructions: https://github.com/intercom/intercom-rails#running-testsspecs
1 parent f20c2dd commit 6bc54ca

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

lib/intercom-rails/script_tag.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ def find_lead_attributes
9898
def intercom_javascript
9999
intercom_settings_json = ActiveSupport::JSON.encode(intercom_settings).gsub('<', '\u003C')
100100

101-
str = "window.intercomSettings = #{intercom_settings_json};(function(){var w=window;var ic=w.Intercom;if(typeof ic===\"function\"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='#{Config.library_url || "https://widget.intercom.io/widget/#{j app_id}"}';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}};})()"
102-
101+
str = "window.intercomSettings = #{intercom_settings_json};(function(){var w=window;var ic=w.Intercom;if(typeof ic===\"function\"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='#{Config.library_url || "https://widget.intercom.io/widget/#{j app_id}"}';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);document.addEventListener('page:load', l, false);}};})()"
102+
103103
str
104104
end
105105

0 commit comments

Comments
 (0)