Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.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 谷歌+;共享和单一交互-未确认_Javascript_Google Plus - Fatal编程技术网

Javascript 谷歌+;共享和单一交互-未确认

Javascript 谷歌+;共享和单一交互-未确认,javascript,google-plus,Javascript,Google Plus,我正在设置一个google+共享按钮,想知道什么时候有人共享了链接,这样我就可以执行操作了。您可以使用onendinteraction属性在共享按钮上注册回调,文档中指出,每当共享框关闭和共享完成时,都会调用回调 我的函数在窗口关闭时调用,但在链接实际共享时不调用: function redirectGooglePlus(jsonParam) { alert(jsonParam.type); } <div class="g-plus" data-action="share" dat

我正在设置一个google+共享按钮,想知道什么时候有人共享了链接,这样我就可以执行操作了。您可以使用
onendinteraction
属性在共享按钮上注册回调,文档中指出,每当共享框关闭和共享完成时,都会调用回调

我的函数在窗口关闭时调用,但在链接实际共享时不调用:

function redirectGooglePlus(jsonParam) {
    alert(jsonParam.type);
}
<div class="g-plus" data-action="share" data-annotation="vertical-bubble" data-height="60"
                 data-href="http://mywebsite.com" data-onendinteraction="redirectGooglePlus"></div>
函数重定向googleplus(jsonParam){
警报(jsonParam.type);
}
我的函数
redirectGooglePlus
只有在
悬停
类型时才会被调用,并且从不
确认
(这是一个用来表示共享已完成的函数)

有人知道为什么不使用
confirm
调用函数吗

仅供参考谷歌共享文档如下:

所以这似乎是当前google+共享按钮实现的一个缺陷:


我现在使用的(可怕的)解决方法是为
onendinteraction
查找两个悬停事件。如果事件连续发生(少于1秒),那么他们很可能已经共享了该项目。

这篇文章已经很晚了,所以可能不相关,但根据他们的web平台页面,您似乎可以使用类似于-

var请求=gapi.client.plus.activities.list({
'userId':'me',
“集合”:“公共”
});
请求执行(功能(resp){
var numItems=相应的项目长度;
对于(变量i=0;i
用于生成和测试查询端点的在线工具位于

生成自定义查询字符串并将其附加到用户正在共享的链接的末尾,可以解析从端点返回的JSON,以检查该特定链接是否已在用户活动流上共享。 返回的JSON如下所示-

{
 "items": [
  {
   "title": "",
   "published": "2015-06-12T16:39:11.176Z",
   "url": "https://plus.google.com/+UserID/posts/PostID",
   "object": {
    "content": "",
    "attachments": [
     {
      "objectType": "article",
      "url": "http://www.example.com"
     }
    ]
   }
  }
 ]
}

如果其中一个返回项目的附件部分中有自定义查询的链接,那么,瞧!它已被共享。

解决此问题的可能方法是以下解决方法

  • 让用户打开一个新窗口,其中只包含传递要共享的url的共享按钮代码
  • 在窗口加载时将变量设置为0
  • 在函数redirectGooglePlus中,当调用data onendinteraction时,将变量更新为1
  • 检查窗口是否关闭,并验证变量是否已设置

    function closeWin(){
    
     if(x==0){
        //not shared before leaving code;
     }else{
        //shared before window closed;
     }
    }    
    body onbeforeunload="closeWin()" 
    

  • 看起来这是一个bug:他们还没有解决这个bug。这么大的公司真可怜