我的页面中有一个提交按钮,我想在不同的窗口中打开该链接。
检查这段代码
<input class="btn add-to-cart-btn" onclick="one();two();" type="submit" value="More Info At {{ product.vendor }}"/>
java脚本代码
<script>
function one(){
trackOutboundLink('{{ product.metafields.google.custom_label_0 }}');
}
function two(){
window.open('{{ product.metafields.google.custom_label_0 }}');
}
var trackOutboundLink = function(url) {
ga('send', 'event', 'outgoing', 'click', url, {
'transport': 'beacon',
'hitCallback': function(){document.location = url;}
});
}
</script>
“product.metafields.google.custom_label_0”是一个静态 url。
如果我单击该提交页面,则该链接将在新窗口和同一窗口中打开。
但我只想在不同的窗口中打开。如何控制这个?
最佳答案
真正的问题在于:-
'hitCallback': function(){document.location = url;}
在按钮上先单击 one();
然后调用 two();
函数会发生什么。所以在再次打开新窗口后,原始 URL 由上面的函数 trackOutboundLink()
代码重新加载,该函数在函数 one();
如此简单,删除它或像下面这样评论它:-
<input class="btn add-to-cart-btn" onclick="one();two();" type="submit" value="More Info At {{ product.vendor }}"/>
<script>
function one(){
trackOutboundLink('{{ product.metafields.google.custom_label_0 }}');
}
function two(){
window.open('{{ product.metafields.google.custom_label_0 }}');
}
var trackOutboundLink = function(url) {
ga('send', 'event', 'outgoing', 'click', url, {
'transport': 'beacon',
/* 'hitCallback': function(){document.location = url;} */
});
}
</script>
关于javascript - 在两个窗口中打开页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937478/