1
我有一个建在React JS
栈上的SPA。我正在使用react-router
浏览网页,我需要在我的网站上执行Google AdWords
。如何防止Google AdWords脚本阻止在SPA中重新加载?
<script type="text/javascript">
/* <![CDATA[ */
goog_snippet_vars = function() {
var w = window;
w.google_conversion_id = 333333;
w.google_conversion_label = "33333";
w.google_remarketing_only = false;
}
// DO NOT CHANGE THE CODE BELOW.
goog_report_conversion = function(url) {
goog_snippet_vars();
window.google_conversion_format = "3";
var opt = new Object();
opt.onload_callback = function() {
if (typeof(url) != 'undefined') {
window.location = url;
}
}
var conv_handler = window['google_trackConversion'];
if (typeof(conv_handler) == 'function') {
conv_handler(opt);
}
}
/* ]]> */
</script>
我嵌入身体这个代码,我跑goog_report_conversion
当我上按钮,导航我到另一个网页点击。哪些是SPA的不良行为。
<Link
className="btn btn-primary"
to="/settings"
onClick={() => goog_report_conversion('site.name/settings')}
>Go to settings</Link>
问题是,一旦我这样做,它会完全重新加载我的网页。 我知道这行导致该问题
window.location = url;
但是,如果没有它的脚本不起作用。
我也尝试在Google跟踪代码管理器中创建此事件,并按照此处给出的建议Google Tag Manager causes full page reload in SPA - React,但它没有帮助我。
有没有人遇到过在SPA中实施AdWords的相同问题?你是如何解决它的?
在什么样的wa Ÿ它不工作?如果您不提供可选的url参数,则不应该有重定向。 –