2013-08-22 6 views
5

私はGoogle +共有ボタンを設定しています。誰かがリンクを共有していることを知り、行動を実行できるようにしたいと考えています。 onendinteraction属性を使用して共有ボタンにコールバックを登録することができます。また、ドキュメントには、共有ボックスが閉じられるたびに共有が完了するたびにコールされることが記載されています。google +共有とonendinteraction - 確認なし

My機能は、ウィンドウが閉じられたときに呼び出されているが、リンクが実際に共有されていないとき:

hoverタイプ、そして決して confirm(My機能 redirectGooglePlusがしか呼ばれ
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> 

あるときシェアが完了している意味することになっている1。

機能がconfirmで呼び出されていない理由を誰もが知っていますか?

FYI Googleの共有ドキュメントは彼でありますRE: https://developers.google.com/+/web/share/

+1

これはバグです(https://code.google.com/p/google-plus-platform/issues/detail?id=396 –

+0

)。このバグはまだ分類されていません。このような大企業からはかなり哀れです – Rossco

答えて

1

だから、これは、Google +の共有ボタンの現在の実装でバグに表示されます。

https://code.google.com/p/google-plus-platform/issues/detail?id=396

私は今のために使用しました(恐ろしい)回避策は見ていますonendinteractionの2つのホバーイベントの場合イベントが速く連続して(1秒未満で)来たら、彼らはアイテムを共有している可能性が高いです。かなり遅れてこの1の

0

それが自分のWebプラットフォーム用Google Developerページに関連が、応じない場合がありますので、あなたがに似たJavaScriptコードを使用して、現在のユーザーの活動リストにタップすることができそうです -

var request = gapi.client.plus.activities.list({ 
    'userId' : 'me', 
    'collection' : 'public' 
}); 

request.execute(function(resp) { 
    var numItems = resp.items.length; 
    for (var i = 0; i < numItems; i++) { 
    console.log('ID: ' + resp.items[i].id + ' Content: ' + 
     resp.items[i].object.content); 
    } 
}); 
生成し、ユーザーは、JSを共有しているリンクの末尾にカスタムクエリ文字列を追加し Developer Page

生成し、クエリエンドポイントをテストするためのオンラインツールがありますエンドポイントから返されたONを解析して、特定のリンクがユーザーのアクティビティストリームで共有されているかどうかを確認できます。カスタムクエリとのリンクが返された項目の一つ、出来上がりの添付ファイルセクションに存在する場合

{ 
"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" 
    } 
    ] 
    } 
    } 
] 
} 

- JSONは、このようなルックスを返されました!それは共有されています。

0

可能性のある解決策は、回避策として次のようになります。

  1. ユーザーが機能redirectGooglePlusでウィンドウ負荷
  2. に0に変数を設定
  3. を共有するためのURLを渡しONLY共有ボタンのコードを含む新しいウィンドウを開いたときに1に変数を更新してくださいデータonendinteractionが近いために窓をチェックして、変数が設定されたことを確認
  4. と呼ばれる

    function closeWin(){ 
    
    if(x==0){ 
        //not shared before leaving code; 
    }else{ 
        //shared before window closed; 
    } 
    }  
    body onbeforeunload="closeWin()" 
    
関連する問題