我正在使用Rails,并且我设置了Joyride,并且回调有效,但我想调整它以便它只在用户完成巡视时执行post_ride_callback
,而不是在他们取消它时中间。根据他们的文档,似乎我应该能够确定发生了哪个:
post_ride_callback : function (){}, // A method to call once the tour closes (canceled or complete)
http://foundation.zurb.com/docs/components/joyride.html
这就是我现在在application.js
中所拥有的(有效):
$(document)
.foundation({joyride: {
pre_ride_callback: function() {
console.log('tour started');
send_tour_start_event_to_ga();
},
post_ride_callback: function() {
console.log('tour finished');
send_tour_complete_event_to_ga();
}
}}
)
.foundation('joyride', 'start');
我正在使用此功能向Google Analytics发送活动,我希望能够跟踪启动游览的用户实际完成比例的百分比。有关如何使用post_ride_callback的任何想法只在巡视完成后运行?看起来这个家伙可能会做些什么:https://github.com/zurb/joyride/pull/119
答案 0 :(得分:2)
使用Foundation 4.3.2我遇到了同样的问题。我希望加载其他网页以在第一次巡视完成后显示新的巡演,但是当用户关闭巡视时也会发生这种情况。
基本上我所做的是在模板上添加一个新类(closeJoyride)>链接在foundation.joyride.js文件中,因此我们可以控制该操作。
template : { // HTML segments for tip layout
link : '<a href="#close" class="closeJoyride joyride-close-tip">×</a>',
然后,当用户关闭游览时触发一个功能:
$( ".closeJoyride" ).click(function() {
$(document).foundation('joyride', 'stop');
});
现在你的post_ride_callback将在游览完成后正常工作。我想这也适用于基金会5。
我希望我帮助过你。
答案 1 :(得分:0)
abort_on_close : false
默认情况下,abort_on_close为true。这意味着不会调用post-ride回调方法。如果将其设置为true,则会调用它。