Javascript Open在新窗口和相同窗口中打开目标URL

Javascript Open在新窗口和相同窗口中打开目标URL,javascript,wordpress,window.open,Javascript,Wordpress,Window.open,基本上,我有一个带有社交媒体共享按钮的页面。它们中的一些可以正常工作(它们在新窗口中打开),但是,另一些可以在新窗口和同一窗口中同时打开。我已经为此疯狂了一天,我似乎找不到办法来解决它 以下页面供参考: 按预期运行的链接(Facebook、Twitter、Pinterest): 打开URL以在新窗口和同一窗口中共享的链接: <a href="http://www.stumbleupon.com/badge/?url=http://www.inetsolutions.org/gsa-se

基本上,我有一个带有社交媒体共享按钮的页面。它们中的一些可以正常工作(它们在新窗口中打开),但是,另一些可以在新窗口和同一窗口中同时打开。我已经为此疯狂了一天,我似乎找不到办法来解决它

以下页面供参考:

按预期运行的链接(Facebook、Twitter、Pinterest):


打开URL以在新窗口和同一窗口中共享的链接:

<a href="http://www.stumbleupon.com/badge/?url=http://www.inetsolutions.org/gsa-search-engine-ranker-ultimate-tutorial-and-genuine-review-seo-software-of-the-gods/&amp;title=GSA%20Search%20Engine%20Ranker%20Ultimate%20Tutorial%20and%20Genuine%20Review%20%E2%80%93%20SEO%20Software%20of%20the%20Gods" class="ism_link" onclick="ism_fake_increment('.stumbleupon_share_count', 'stumbleupon', 'http://www.inetsolutions.org/gsa-search-engine-ranker-ultimate-tutorial-and-genuine-review-seo-software-of-the-gods/');return !window.open(this.href, '', 'width=700,height=575');">

我所尝试的:

  • 我已尝试删除标记的“href”属性,并将URL字符串插入window.open函数,而不是使用“this.href”。当我这样做时,链接只会打开一个新窗口,但不会打开相应社交媒体的共享页面,而是打开目标URL
  • 我尝试在非工作window.open函数后添加“return false”
  • 我还试图删除“ism_fake_increment”函数只是为了测试,但同样没有效果
  • 我已经联系了插件作者,但他们要求访问我的网站内部,这是不会发生的

如有任何想法,我们将不胜感激。谢谢你抽出时间

我建议您不要使用
onclick
属性,因为它会导致非常混乱的代码。而是在DOM中使用
.addEventListener()

要禁止在同一窗口中打开链接,只需禁用默认的偶数。这可以通过调用传入回调的对象的
.preventListener()
方法,在回调中使用
.addEventListener()
完成:

//获取我们的链接:
var link=document.getElementById(“stumbleupon”);
//绑定单击事件:
link.addEventListener(“单击”),函数(事件){
//使用.preventDefault()防止定期打开链接:
event.preventDefault();
//以下带有该插件的代码不起作用,因为我们没有在代码段中包含该插件,但您可以清楚地看到,如果单击该链接,则该链接显然已被禁用,因为上面调用了.preventDefault()。
//使用插件执行不同的操作:
ism\u伪增量('.stumbleupon\u share\u count','stumbleupon','http://www.inetsolutions.org/gsa-search-engine-ranker-ultimate-tutorial-and-genuine-review-seo-software-of-the-gods/');
return!window.open(this.href','width=700,height=575');
});

在第二个链接中,尝试将
event.preventDefault()
放在
onclick
属性的开头。不过,我不确定它是否会起作用,一般来说,使用
onclick
属性是个坏主意。使用
.addEventListener()
获得更好的JavaScript代码。
<a href="http://www.stumbleupon.com/badge/?url=http://www.inetsolutions.org/gsa-search-engine-ranker-ultimate-tutorial-and-genuine-review-seo-software-of-the-gods/&amp;title=GSA%20Search%20Engine%20Ranker%20Ultimate%20Tutorial%20and%20Genuine%20Review%20%E2%80%93%20SEO%20Software%20of%20the%20Gods" class="ism_link" onclick="ism_fake_increment('.stumbleupon_share_count', 'stumbleupon', 'http://www.inetsolutions.org/gsa-search-engine-ranker-ultimate-tutorial-and-genuine-review-seo-software-of-the-gods/');return !window.open(this.href, '', 'width=700,height=575');">