Turbolink 导致在下一页加载第 3 方 javascript(zendesk) 时出现问题
Turbolink causing issue to load the 3rd party javascript(zendesk) on next page
我在 rails3 上,Turbo-links 导致 link for 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
任何人有任何想法请告诉我。
您正在将函数 zendesk_web_widget
的 return 值传递给侦听器,而不是函数本身。因此,不要调用函数(使用 ()
),而是尝试传递函数:
document.addEventListener('page:change', zendesk_web_widget);
或者,为它制作一个包装函数:
document.addEventListener('page:change', function () { zendesk_web_widget(); });
既然您使用的是 jQuery,为什么不让代码使用 jQuery。
$(document).on('page:change', zendesk_web_widget);
我在 rails3 上,Turbo-links 导致 link for 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
任何人有任何想法请告诉我。
您正在将函数 zendesk_web_widget
的 return 值传递给侦听器,而不是函数本身。因此,不要调用函数(使用 ()
),而是尝试传递函数:
document.addEventListener('page:change', zendesk_web_widget);
或者,为它制作一个包装函数:
document.addEventListener('page:change', function () { zendesk_web_widget(); });
既然您使用的是 jQuery,为什么不让代码使用 jQuery。
$(document).on('page:change', zendesk_web_widget);