-1

我有一个网页,上面有 250 个不同的项目,每个项目都有自己的 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 代码这使得 Like 按钮起作用。我想做的是用我自己的 HTML 替换我们每个页面顶部的 Facebook 代码,该 HTML 抓取每个“Like 按钮”中的数据并生成我自己的功能有点不同的按钮。(也许他们每个人都会链接到一个单独的页面,当页面加载到 iOS 设备上时,该页面将成为一个共享页面。)唯一的问题是我不太了解导致这些项目中的每一个所需的 HTML/CSS/Javascript使用 class="fb-like" 触发某些内容以在其中生成内容。

有人可以向我简要解释一下如何访问我页面的 class="fb-like" 部分中的数据,并将我自己的项目放在那里吗?然后我可以在 iPad/iPhone 上动态地做一些不同的事情,这样它们就不会崩溃,也许只需将喜欢的按钮变成共享页面链接。

我可以为此编写自己的 Javascript/HTML 代码,但前提是我对如何访问每个“类似 fb”的 DIV 中的数据值以及如何使我生成的代码触发出现在该页面上有所了解在这 250 个地方的每一个地方。

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

4

1 回答 1

1

根据 Muhammed 的建议并在此站点上找到上述引用的帖子,我为自己创建了一个似乎可行的小示例。此示例仅访问每个 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>
于 2013-08-18T20:48:02.427 回答