javascript - ajax 网站上的 criteo 标签

标签 javascript turbolinks criteo

我在将 criteo 标签集成到我的 ajax 网站时遇到问题。 当我发送第一个事件时,一切都运行良好。

<script type="text/javascript" src="//static.criteo.net/js/ld/ld.js" async="true"></script>
<script type="text/javascript">
window.criteo_q = window.criteo_q || [];
window.criteo_q.push(event_data);
</script>

但是当我尝试将另一个事件发送到 criteo 而不重新加载页面时,它不起作用。事件未出现在 criteo 中。

<script>
window.criteo_q.push(event_data);
</script>

有什么问题吗?

演示示例:https://jsfiddle.net/36jq9dLu/156/

最佳答案

每次您想要触发新事件时,都应该以编程方式重新导入加载程序。这不会导致任何延迟,因为加载程序由浏览器缓存,但这是必要的,因为它包含一些可用于重新初始化 criteo_q 对象的代码。您可以在每次事件触发之前添加以下行:

window.criteo_q = undefined;
script = document.createElement('script');
script.src = '//static.criteo.net/js/ld/ld.js';
script.async = 'true'
document.head.appendChild(script);
window.criteo_q = window.criteo_q || [];

https://jsfiddle.net/36jq9dLu/199/

关于javascript - ajax 网站上的 criteo 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48887150/

相关文章:

javascript - 一旦 div 结束,使水平滚动停止

javascript - 正则表达式:检索字符串第一次出现之前的行

javascript - JS在跟踪代码推送方法中添加数组

ruby - 如何在 Ruby 中查询 Criteo REST API v2?

javascript - 当我访问 JSON 数组中的特定值时

javascript - 为 iFrame 创建 float 水平滚动条

ruby-on-rails - Ruby on Rails 阻止 Turbolinks 劫持 AJAX 操作

javascript - Rails 4 turbo-link 阻止 jQuery 脚本工作

ruby-on-rails - 如何为 ios 设置 "build Turbolinks.framework"?

google-tag-manager - 结合多个谷歌标签管理器触发器