window.open默认被阻止(弹出窗口被阻止)

时间:2013-10-03 04:28:04

标签: jquery html css

我正在尝试为我的网站分享链接,并有以下代码:

function handleFacebook(shortURL) {
  $(".facebook").click(function(e) {
    e.preventDefault();
      window.open(
        'https://www.facebook.com/sharer/sharer.php?u='+encodeURIComponent(shortURL),
        'facebook-share-dialog',
        'width=626,height=436');
      return false;
    });
  });
}

html(JADE)

  div.facebook
    img(src="/images/facebook_logo.png")

但是,当弹出窗口被阻止时,这不起作用。

如何解决弹出窗口阻塞问题???

不确定如何修复以及添加的位置/内容?

1 个答案:

答案 0 :(得分:2)

您想要添加多个共享链接吗?如果您未在链接window.open中添加href,则浏览器会阻止弹出窗口。

因此,您必须在其window.open中创建与此href完整的链接。

示例:FIDDLE

var url = ['http://google.com', 'http://bing.com', 'http://duckduckgo.com/'];

$.each(url, function(i, val){

    $('body').append('<div><a href="#" onclick="window.open(\'https://www.facebook.com/sharer/sharer.php?u=\'+encodeURIComponent(\''+val+'\'), \'facebook-share-dialog\', \'width=626,height=436\'); return false;"> Share on Facebook </a></div>');

});