Rob*_*eal 14 javascript php wordpress facebook google-plus
我们正在为工作中的客户建立一个网站,可以在这里找到:http://ethercreative.net/studio_social/ 这是一个非常简单的wordpress主题,但是无限滚动插件和社交之间的冲突引发了复杂性图标.
每篇文章都是为了在最后显示一个块,里面有G +,FB和Twitter社交图标.这意味着在开始时显示约4个帖子,然后当你滚动时它意味着加载下一组.
这些事情中的每一个都有效,但不是在一起.
当无限滚动加载下一个帖子时,它只显示一个像facebook的按钮,而不是其他两个社交图标.
奇怪的是,它留下了代码块:
<span class="icons">
<g:plusone size="medium" href="http://ethercreative.net/studio_social/?p=1"></g:plusone> <iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fethercreative.net%2Fstudio_social%2F%3Fp%3D1&locale=&layout=button_count&action=like&width=92&height=20&colorscheme=light" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:92px; height:20px;" allowtransparency="true"></iframe>
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://ethercreative.net/studio_social/?p=1" data-count="horizontal" data-text="Hello world!" data-via="twitter_username"></a></span>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道问题是什么以及为什么会发生这种情况,但我对javascript并不是很了解,也不知道用什么来修复它.
我正在使用Wordpress 3.3.1,带有无限滚动插件(http://wordpress.org/extend/plugins/infinite-scroll/)和digg digg用于社交图标(http://wordpress.org/extend/plugins/Digg的-Digg的/)
无限滚动插件确实能够在抓取新的帖子集后添加onLoad事件.那么我应该在这里添加什么?
感谢您提前提供的所有帮助!祝你今天愉快.
更新:经过一些研究,我也修了推特.现在只需要Google Plus即可解决问题.twitter所需的代码是:
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
Run Code Online (Sandbox Code Playgroud)
再次更新:找到Google Plus代码:
(function(){var po = document.createElement('script'); po.type ='text/javascript'; po.async = true; po.src ='https://apis.google.com/js/ plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po,s);})();
我学到了什么?在Stack Overflow上询问之前,请进行更多Google搜索.至少是未来人们对这个问题的回答.
您提出的解决方案基本上是重新加载脚本,这是非常低效的,因为您可能在第一组社交按钮的页面加载时加载它们.所有这三种服务都有一种方法来解析一部分或整个文档,以呈现任何新的社交窗口小部件.你想要的代码是这样的:
var el = document.body;
//Google Plus
if (typeof gapi !== "undefined") { gapi.plusone.go(el); }
//Facebook
if (typeof FB !== "undefined") { FB.XFBML.parse(el); }
//Twitter
if (typeof twttr !== "undefined") { twttr.widgets.load(); }
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,el应该是容纳小部件的容器,或者可能只是document.body(会重新呈现所有小部件.)不确定您是否可以使用Twitter缩小上下文,但我相信他们计划添加那.
| 归档时间: |
|
| 查看次数: |
3325 次 |
| 最近记录: |