我的页面中有一个提交按钮,我想在不同的窗口中打开该链接。
检查此代码
<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>
&#34; product.metafields.google.custom_label_0&#34;是一个静态网址。
如果我点击该提交页面,那么该链接将在新窗口和同一窗口中打开。
但我只想在不同的窗口打开。怎么控制这个?
答案 0 :(得分:1)
实际问题在于: -
'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>
答案 1 :(得分:0)
来自:http://www.w3schools.com/jsref/met_win_open.asp
您可以尝试:var myWindow = window.open("", "", "width=200,height=100");
在新窗口中打开about:空白页。
你必须设置窗口大小。
答案 2 :(得分:0)
更改输入类型&#34;提交&#34;到&#34;按钮&#34;
答案 3 :(得分:0)
<强>语法强>
window.open(URL,name,specs,replace)
试试这个
window.open("product.metafields.google.custom_label_0 ", "_blank");