jquery facebook分享不工作移动但在桌面上工作

时间:2014-02-24 22:29:46

标签: javascript jquery

我有一个完全正常工作的facebook分享弹出窗口,可以在桌面上完美运行,但只是在移动设备上查看时输入了facebook输入字段,例如iphone的safari?

DEMO FIDDLE http://jsfiddle.net/EYxTJ/345/

$('div').click(function(){   
    fb_click()
});

function fb_click() {
        var fb_title     = encodeURIComponent('my title goes here!');
        var fb_descr     = encodeURIComponent('my description goes here');
        var fb_url       = encodeURIComponent('www.example.com');
        var fb_image     = encodeURIComponent('http://www.highyieldbond.com/wp-content/uploads/2013/04/silver-apple-logo-apple-picture1.jpg');

        window.open('http://www.facebook.com/sharer.php?s=100&p[title]=' + fb_title + '&p[summary]=' + fb_descr + '&p[url]=' + fb_url + '&p[images][0]=' + fb_image, 'width=450','height=450');
    }

它在移动设备上的显示方式

fb share mobile

2 个答案:

答案 0 :(得分:1)

某些移动设备无法处理点击事件。你必须使用:

$('div').bind("click touchstart", function(){   
    fb_click();
});

答案 1 :(得分:1)

这是一个常见问题。你有两个选择(据我所知)。

1)使用非常容易使用的php facebook SDK。

2)使用内联javascript,因为这似乎绕过了常见问题

DEMO http://jsfiddle.net/5kNAw/1/

sharer.php方法不允许将参数解析为facebook的移动版本。解决方法是为您的共享pop添加桌面版本。您可以使用上面的JS函数执行此操作,但只需对URL进行少量修改即可。正如您将在下面的示例中看到的,我在m2w&之后添加了sharer.phpm2w表示“移动到网络”。

window.open('http://www.facebook.com/sharer.php?m2w&s=100&p[title]=' + fb_title + '&p[summary]=' + fb_descr + '&p[url]=' + fb_url + '&p[images][0]=' + fb_image, 'width=450','height=450');