我正在使用 Driftbot,请参见此处 ,并尝试根据当前路由/url 启用/禁用它。我正在使用反应路由器。
我可以用来drift.unload()
阻止它运行(在我的componentWillMount()
函数中),但无法让它重新启动。
我们有一些从这里提取的代码一直在工作,除了我们现在需要修改它以便在特定页面上禁用它。
这是我们目前使用的代码:
let driftbot_function = function() {
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on"],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('****__our-key__****');
drift.page();
}
driftbot_function();
这是目前在componentDidMount()
我们的,app.js
因为它是我们的根'/'
。我也尝试过将其移到脚本标签中,index.html
但结果相同。
当链接到我希望禁用它的应用程序的一部分时,唯一可以禁用它的方法是window.drift.unload()
. .hide
并且.off
不会工作。
返回根目录时,我有命令,window.drift.load()
但现在它是一个空函数,在运行该unload()
函数之前它正在工作。
我还尝试在我的root.js
和app.js
文件中包含上面链接的 Drift Docs 中的功能,但无济于事
有没有人有任何想法?