Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在facebook中添加共享功能?_Javascript_Jquery_Html_Facebook_Blogger - Fatal编程技术网

Javascript 如何在facebook中添加共享功能?

Javascript 如何在facebook中添加共享功能?,javascript,jquery,html,facebook,blogger,Javascript,Jquery,Html,Facebook,Blogger,我在我的博客上使用了一个脚本,它使用带有“上一步”和“下一步”按钮的外部源图像。脚本包含currentUrl函数,用于在单击“下一步”或“上一步”按钮时创建页面印象 我想添加facebook共享按钮,它允许用户共享他们正在查看的图片,但我认为这是不可能的,因为我试图在facebook上复制粘贴地址栏上的链接(由于当前url功能,该链接会随图片更改),但无法检索与url关联的图像,是否可以对脚本进行任何更改,以便在社交媒体上共享图像? 非常感谢您的帮助。 谢谢 HTML代码: <body o

我在我的博客上使用了一个脚本,它使用带有“上一步”和“下一步”按钮的外部源图像。脚本包含currentUrl函数,用于在单击“下一步”或“上一步”按钮时创建页面印象

我想添加facebook共享按钮,它允许用户共享他们正在查看的图片,但我认为这是不可能的,因为我试图在facebook上复制粘贴地址栏上的链接(由于当前url功能,该链接会随图片更改),但无法检索与url关联的图像,是否可以对脚本进行任何更改,以便在社交媒体上共享图像? 非常感谢您的帮助。 谢谢

HTML代码:

<body onload="showPicNo(a)">
    <div id="picture"><img name="picturegallery"></div>
    <div id="navigation">
       <a href="javascript:bw()">previous</a> | <a href="javascript:fw()">next</a>
    </div>
  <body>

我将函数添加到原始源代码中。回到主题:

基于这个原因,我认为源代码可以工作,但并不像预期的那样

如果您阅读提供的线程,您将发现以下句子:

Facebook将解析该页面并抓取它找到的前几张图片

这就是您无法在Facebook中看到所选图片的原因。然后,如果Facebook解析给定的站点,它会发现一个空的图像标签。首先,javascript在运行时指定图片地址。对于Facebooks站点解析器来说太晚了。他也不能执行插入的Javascript

给我的问题一个解决方案?在我眼里。。不适用于纯客户端图片显示。你必须接受只有静态图片才能在Facebook上用作图标


旁白:每个人都被诱骗着告诉我我错了。我渴望学习新事物

您需要使用Facebook Javascript SDK来完成此操作。-这是一个简单的分享类,我做了,使这很容易

因此,实际的脚本工作,你是要求指导添加facebook内的共享功能?如果是,你的头衔是wrong@Christian是的,实际的脚本运行良好,但它不适用于facebook。我想在我的搞笑图片网站上实现共享按钮。脚本会随着每次图像加载而更改url,但当我在facebook状态栏上复制粘贴带有参数的url时(用于检查是否可以使用共享按钮),它无法检索与该url关联的图像。我认为脚本需要以某种方式修改才能使用共享按钮。为了让您了解Structure,这是网站url www.woofhits.com,其托管在blogger上。原始来源是;-)非常感谢你一路帮助我。我读了你在回答中提到的帖子,并理解了一点。这意味着使用这个图像脚本不是一个好主意,因为它不能被修改以用于社交共享,因为图像及其标题需要位于特定页面上,以便Facebook可以解析它。如果JavaScript不是图片网站的选项,我应该使用什么语言来实现这一点,请给出建议。我已经看到了这一点,它在各个方面都非常有效,我想在我的网站上也这样做。上面提到的网站走了一条不同的路。有一些代码在服务器端运行,并且总是生成一个新的有效网页。那么,Facebook的解析器抓取图片就没问题了。也许你应该从下面的答案开始尝试。我正在尝试实现第二个答案中提供的facebook javascript sdk和共享类。我已经注册了一个fb应用程序并包含了javascript sdk。在共享类var share_obj={app_id:YOUR_FACEBOOK_app_id,method:“feed”,link:“link TO share”,picture:“URL TO IMAGE必须是绝对路径”,name:“显示的名称”,caption:“the caption”,description:“description”}我想共享链接应该是+=document.url,但我不知道如何在数组中排除图像的绝对路径。我想共享链接的值是
“”+document.url
,图片的值是
“”+pics[a]
。对其他变量的编写取决于您。我正在尝试实现您的共享类。我已将所有这些代码包含在脚本标记var sharr=new SocialShare()下;var share_obj={app_id:49086674364389,method:“feed”,link:+document.URL,picture:+pics[a],name:“显示的名称”,caption:“THE caption”,description:“THE description”}(link和picture vairable基于我的图像脚本)我与sharer.facebook_共享(share_obj)有问题;这应该包括在脚本标签下还是作为HTML作为链接(a href)。你需要在你的HTML中包括js。。。你得到的错误是什么?我没有得到任何错误,但我在实现这一点上有困难,在你提供的链接中没有提供什么解释。你看过这个例子吗?非常清楚地说明了这一点……在示例中,有一个JS加载SDK。至于份额,请在页面顶部添加,然后在底部添加var sharr=。。。。
var pics=new Array ("http://4.bp.blogspot.com/_UdzqQpb36Jo/R9kVS0h1BFI/AAAAAAAAD_o/SRGugAQSF0A/s1600/timming_pictures_37.jpg","https://lh3.googleusercontent.com/-et1BbdI-Dqk/UbM0JNa5VSI/AAAAAAAAAdw/cd6yN5HWvmc/s480-no/Funny+Lady+French+Kiss+With+Lion.jpg","https://lh3.googleusercontent.com/-pSwjTBzFDM0/UbMukN2vTbI/AAAAAAAAAbc/ZMLSTtO-JUk/w460-h511-no/funny-pictures-auto-woman-boobs-477558.jpeg")
var a=0;
var b = pics.length;
var currentUrl = document.URL;
var existsPicParameter = currentUrl.match(/picnoparam\S*/i);

var tmpPicParameter, tmpPicParameterOld;

if (existsPicParameter != null)
{
  tmpPicParameter = existsPicParameter[0].match(/picnoparam=\d+/i);
  if (tmpPicParameter != null)
  {
    a = parseInt(tmpPicParameter[0].match(/\d+/i));
    tmpPicParameterOld = tmpPicParameter[0];
  }
} else {
  a = Math.floor(Math.random() * (b - a)) + a;
}

function fw()
{
 if (a == (b - 1))
 {
  a = 0;
 } else {
  a++;
 }
 navigate(a);
}

function bw()
{
 if (a == 0)
 {
  a = b - 1;
 } else {
  a--
 }
 navigate(a);
}

function navigate(a)
{
 if (existsPicParameter == null)
 {
  if (currentUrl.indexOf("?") == -1)
  {
    currentUrl += "?";
  } else {
  currentUrl += "&";
  }
  currentUrl += "picnoparam="+a;
 } else {
  tmpPicParameter[0] = tmpPicParameter[0].replace(/\d+/i,a);
  currentUrl = currentUrl.replace(tmpPicParameterOld,tmpPicParameter[0]);
 }
  window.location.replace(currentUrl);
}

function showPicNo(picNumber)
{
  window.document.images["picturegallery"].src=pics[picNumber];
}

function randomPicture()
{
  erg = Math.floor(Math.random() * (b - a)) + a;
  showPicNo(erg);
}