Javascript 自定义Facebook共享按钮不起作用
有人能解释一下为什么我的自定义Facebook共享按钮不起作用吗? 每当我点击按钮时,共享窗口就不会出现。 我已经在一个实际的Web服务器上尝试了它作为html文件,并且我已经阅读了facebook文档中关于共享按钮的所有内容 使用时,它确实起作用 当我点击这个按钮时,我确实感觉到了 这是我的密码。(没有CSS,因为它有点多,如果你需要,我可以添加它。)Javascript 自定义Facebook共享按钮不起作用,javascript,html,css,facebook,facebook-graph-api,Javascript,Html,Css,Facebook,Facebook Graph Api,有人能解释一下为什么我的自定义Facebook共享按钮不起作用吗? 每当我点击按钮时,共享窗口就不会出现。 我已经在一个实际的Web服务器上尝试了它作为html文件,并且我已经阅读了facebook文档中关于共享按钮的所有内容 使用时,它确实起作用 当我点击这个按钮时,我确实感觉到了 这是我的密码。(没有CSS,因为它有点多,如果你需要,我可以添加它。) 共享对话框 单击下面的按钮以触发共享对话框 在Facebook上分享 document.getElementById('fb-share-b
共享对话框
单击下面的按钮以触发共享对话框
在Facebook上分享
document.getElementById('fb-share-button')。onclick=function(){
FB.ui({
方法:'共享',
显示:“弹出窗口”,
href:'https://nureinberg.de',
},函数(响应){};
}
您需要初始化FB SDK
这包括FB.init
函数和
元素
看看这支笔吧-它在减去应用程序ID后工作正常,但弹出部分工作正常:
我还将版本ID添加到
sdk.js
脚本(https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7
)您需要初始化FB SDK
这包括FB.init
函数和
元素
看看这支笔吧-它在减去应用程序ID后工作正常,但弹出部分工作正常:
我还将版本ID添加到
sdk.js
脚本(https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.7
)尝试将版本和应用程序ID添加到JS SDK源:
https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId=<your-app-id>
https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId=
尽管如此,我还是建议使用异步方式加载JS SDK:
如果不想创建应用程序,请使用带有标准锚定标记的sharr.php:
https://www.facebook.com/sharer/sharer.php?u=<encoded-url>
https://www.facebook.com/sharer/sharer.php?u=
尝试将版本和应用程序ID添加到JS SDK源:
https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId=<your-app-id>
https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.12&appId=
尽管如此,我还是建议使用异步方式加载JS SDK:
如果不想创建应用程序,请使用带有标准锚定标记的sharr.php:
https://www.facebook.com/sharer/sharer.php?u=<encoded-url>
https://www.facebook.com/sharer/sharer.php?u=
谢谢您的回答。它现在可以使用以下代码
我还为它创建了一个
谢谢你的回答。它现在可以使用以下代码
我还为它创建了一个
虽然异步方式是推荐的方式,但他使用的是JSSDK的同步版本,因此他并不真正需要FB.init。感谢您的帮助。我已经实现了它,但它仍然不起作用,我还添加了自己的appID。不幸的是,在添加appID时,甚至连codepen都不能工作。appID不能工作,因为它没有在codepen.io域上运行的授权,而且我实际上已经删除了async init,并意外地单击了save。我把它放回去了,所以弹出部分仍然可以正常工作。Init现在可以工作了,但是有没有一种方法可以创建一个自定义共享按钮,而不必为每个网站注册appID@luschn@AlexanderHoerl看看我的答案,我已经包括了更多的细节。此外,如果您只需在url中添加应用程序id,它也可以与您的代码一起工作。虽然推荐使用异步方式,但他使用的是js sdk的同步版本,因此他并不真正需要FB.init。感谢您的帮助。我已经实现了它,但它仍然不起作用,我还添加了自己的appID。不幸的是,在添加appID时,甚至连codepen都不能工作。appID不能工作,因为它没有在codepen.io域上运行的授权,而且我实际上已经删除了async init,并意外地单击了save。我把它放回去了,所以弹出部分仍然可以正常工作。Init现在可以工作了,但是有没有一种方法可以创建一个自定义共享按钮,而不必为每个网站注册appID@luschn@AlexanderHoerl看看我的答案,我已经包括了更多的细节。此外,如果您只需在url中添加应用程序id,它也可以与您的代码一起工作。