2

共有ソーシャル ボタンの値を取得する方法を見つけようとしています: http://www.1stwebdesigner.com/wordpress/wordpress-plugins-social-sharing/ ボタンはページの左側にあります。

ここで、特定の span//div の値を取得する準備ができているドキュメントで JavaScript を使用する可能性があると考えました。ただし、それらは iframe にあり、機能していないようです:

これが私が持っているものです:

<iframe id="something_iframe" 
    src="http://www.facebook.com/plugins/like.php?href=http://www.freelancer.com/projects/myskills.php&send=false&layout=button_count&width=100&show_faces=false&action=like&colorscheme=light" 
    scrolling="no" frameborder="0" 
    style="border:none; overflow:hidden; width:100px; height:21px;"
    allowTransparency="true">
</iframe>

<div id="something">
</div>

<script>
    var $j = jQuery.noConflict();
    $j(document).ready(function() {
        $j("#something").text($j(".pluginCountTextDisconnected").text());
    });
</script>

ただし、この JavaScript の方法がうまくいくとしても、まだ面倒で、おそらく PHP API などにもっと良い方法があると思います。

4

2 に答える 2

2

same origin policyこれらのスパンは、あなたのものとは異なるページからロードされた iFrame 内にロードされるため、これは単に不可能です。

同一オリジン ポリシーがアクティブな場合、iFrame のコンテンツを操作したり、アクセスしたりすることはできません。これにはいくつかの裏技があるかもしれませんが、Twitter と Facebook の API を調べることをお勧めします。API を介していいね/リツイート数を公開している可能性が高いからです。

これには、Twitter/Facebook が共有ボタンに何かを変更しても壊れないという利点もあります。これらはパブリック インターフェイスを意図したものではないため、いつでも自由にコードを変更できます。

更新: サイトのマークアップをもう少し調べたところ、iFrame 内ではなくサイドの HTML に配置されているため、Google+ ボタンにアクセスできるようですが、Facebook と Twitter は iFrame 内でウィジェット ボタンを実行します。アクセスできません。

于 2012-11-19T08:39:17.047 に答える
0

これがあなたが調べているものかどうかはわかりませんが、誰かがたまたま同様の質問を調べた場合に備えて、この回答を追加したいと思いました.


質問から私が理解していることが正しければ、ソーシャルプラグインから共有/いいね/何かの数を取得し、その数を使用する方法が必要です。

同様の問題に取り組んでいるときに、次のプラグインを見つけました: Sharrre

ここに画像の説明を入力

same origin policyを使用して PHP から一部の API を呼び出しCURL、Javascript から直接いくつかの API を呼び出すことで、この問題を回避します。最も使用頻度の高いいくつかのソーシャル サイト用に既にセットアップされており、必要に応じて他のサイトを簡単に追加できます。

共有数を検索したいリンクを手動で追加しなければならないという欠点があり、サーバー側では (ソーシャル サイトからの応答時間が原因で) 少し遅れることがあります。また、使用するソーシャル サイトの API を変更するたびに、それが正常に機能していることを確認する必要があります。


私はプラグイン/サイトとは何の関係もありません。プラグインを使用しただけで、本当に役に立ちました。他の人にも役立つことを願っています.

于 2014-06-12T08:26:06.520 に答える