我有一个完全正常工作的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');
}
它在移动设备上的显示方式
答案 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.php
。 m2w
表示“移动到网络”。
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');