我试图通过JS SDK将我的视图中的图像分享到Facebook,我正在使用laravel 5.2并使用此脚本在<之后立即获取js sdk文件。身体>
> < script >
> window.fbAsyncInit = function() {
FB.init({
> appId : 'my-app-id',
> xfbml : true,
> version : 'v2.5'
> }); };
>
> (function(d, s, id){
> var js, fjs = d.getElementsByTagName(s)[0];
> if (d.getElementById(id)) {return;}
> js = d.createElement(s); js.id = id;
> js.src = "//connect.facebook.net/en_US/sdk.js";
> fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-
> jssdk'));
< /script >
这是一个href
<div id="fb-root"></div>
<a href="http://www.facebook.com/" data-image="Request::url()" data-title="{{$img->title}}" data-desc="{{ $img->description }}" class="fb_share">
<img src="{{ URL::to('/') }}/{{ $img->file_path }}" alt="" width="50" height="50">
</a>
这是脚本
<script>
window.fbAsyncInit = function() {
FB.init({
appId: 1027291920648034,
status: true,
cookie: true,
xfbml: true
});
};
(function(d, debug){var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];if (d.getElementById(id)) {return;}js = d.createElement('script'); js.id = id; js.async = true;js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "") + ".js";ref.parentNode.insertBefore(js, ref);}(document, /*debug*/ false));
function postToFeed(title, desc, url, image) {
var obj = {method: 'feed',link: url, picture: image,name: title,description: desc};
function callback(response) {}
FB.ui(obj, callback);
}
var fbShareBtn = document.querySelector('.fb_share');
fbShareBtn.addEventListener('click', function(e) {
e.preventDefault();
var title = fbShareBtn.getAttribute('data-title'),
desc = fbShareBtn.getAttribute('data-desc'),
url = fbShareBtn.getAttribute('href'),
image = fbShareBtn.getAttribute('data-image');
postToFeed(title, desc, url, image);
return false;
});
</script>