2013-08-18 18 views
-1

我有一个网页,上面有250个不同的项目,每个项目使用标准的Facebook的“赞”代码自身的Like按钮:Facebook Like按钮代码如何工作,以及如何做类似的事情?

div class="fb-like" data-href="http://www.mywebpage.com/myproductpage" data-send="false" data-layout="button_count" data-width="80" data-show-faces="false" etc. 

此页适用于所有的浏览器罚款所有计算机平台以及Android设备上。不幸的是,所有单独的Facebook Like按钮似乎都会为iPad和iPhone创建内存问题,并且Safari会在这些设备的页面上崩溃。

div class =“fb-like”等每个按钮的部分都不是我可以轻易在我们的成千上万个网页上进行更改以使iPad变得快乐,但是我可以轻松地删除显示在屏幕上的标准Facebook代码使“按钮”按钮工作的页面顶部。我想要做的是用我自己的HTML替换每个页面顶部的Facebook代码,这些代码抓取每个“Like按钮”中的数据,并生成我自己的按钮,它们的功能有点不同。 (也许他们每个人都会链接到一个单独的页面,当页面加载到iOS设备上时,这些页面将成为共享页面。)唯一的问题是我没有很好地掌握导致每个项目所需的HTML/CSS/Javascript用class =“fb-like”来触发某些内容来生成内容。我想这就是Facebook按照Like按钮在页面顶部链接的代码所做的。

有人可以简单地向我解释如何访问我的页面的class =“fb-like”部分中的数据,并将自己的项目放在那里?然后,我可以在iPad/iPhone上动态地做一些不同的事情,以便它们不会崩溃,也许只需将类似按钮转换为共享页面链接即可。

我可以编写自己的JavaScript/HTML代码,但只有在了解了如何访问每个“fb-like”DIV中的数据值以及如何让我生成的代码触发出现在这250个地方的每一个页面上。

任何访问我的页面中class =“fb-like”部分的数据然后在其中生成一些东西的例子将不胜感激。即使是最简单的例子也足以让我理解如何从那里编程任何我需要的东西。有人能帮我开始吗?

+0

也许JavaScript和类,并在该元素存在访问元素在于一些ID /数据,它可以让服务器知道什么是喜欢的。 –

+0

听起来像一个很好的建议。我正在阅读关于这个帖子... http://stackoverflow.com/questions/3808808/how-to-get-element-by-class-in-javascript如果任何人有任何其他更具体的建议或例子,请分享。谢谢。 –

回答

1

根据穆罕默德的建议并在本网站上找到上面引用的帖子,我为自己创造了一个似乎可行的小例子。这个例子只是访问每个Like按钮的data-href并将它放在那个位置。这应该足以让我编写我们的iOS修改页面的其余部分。这是我想出了,只要稍微从上面提到的页面修改以适应Facebook的喜欢按钮类代码:

<SCRIPT> 
function replaceContentInContainer(matchClass) { 
var elems = document.getElementsByTagName('*'), i; 
for (i in elems) { 
    if((' ' + elems[i].className + ' ').indexOf(' ' + matchClass + ' ') 
      > -1) { 
     elems[i].innerHTML = elems[i].getAttribute('data-href'); 
    } 
} 
} 
replaceContentInContainer('fb-like'); 
</SCRIPT>