2

我试图找到一种方法来获取共享社交按钮的价值,请参阅: http : //www.1stwebdesigner.com/wordpress/wordpress-plugins-social-sharing/ 按钮位于页面左侧。

现在我想也许可以在文档上使用 JavaScript 来获取特定 span//div 的值。但是它们在 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 是从与您的页面不同的页面加载的。

当同源策略处于活动状态时,您无法操纵 iFrame 的内容或访问它。可能有一些黑客攻击,但我建议您查看 twitter 和 Facebook 的 API,因为它们可能会通过 API 公开点赞/转发计数。

这还有一个好处,即当 Twitter/Facebook 更改其共享按钮时不会中断。这些并不意味着是一个公共接口,因此他们可以随时自由地更改他们的代码。

更新:在站点标记上查看更多内容后,您似乎可以访问 Google+ 按钮,因为它位于侧面的 HTML 中,而不是 iFrame 内,但 Facebook 和 Twitter 在您没有的 iFrame 内运行它们的小部件按钮t 有权访问。

于 2012-11-19T08:39:17.047 回答
0

我不知道这是否是您可能正在研究的问题,但我想添加这个答案,以防有人碰巧查找类似的问题。


如果我对问题的理解是正确的,那么您需要一种方法来从社交插件中获取分享/喜欢/任何内容的数量并使用该数字。

在处理类似问题时,我发现了以下插件:Sharrre

在此处输入图像描述

它通过使用 PHP 从 PHP 调用一些 API ,以及直接从 Javascript调用一些 API,从而避免了这个same origin policy问题。CURL它已经为几个最常用的社交网站设置好了,如果你愿意,可以很容易地添加其他网站。

它确实有缺点,您必须手动添加要搜索共享计数的链接,并且在服务器端它有时有点滞后(由于社交网站的响应时间)。此外,随着您使用的社交网站的每次 API 更改,您必须检查它是否仍在正常工作。


请知道我与插件/站点没有任何隶属关系,我只是使用了该插件,它确实对我有帮助,我希望它也能帮助其他人。

于 2014-06-12T08:26:06.520 回答