-2

我正在为我的学校制作的一首慈善歌曲创建一个网站,我们有一个捐赠页面,我们已经赚了大约 600 英镑。我想要做的是在我的网站上从刚刚提供的页面开始运行总计,而无需每天多次更新。

无论如何,我可以在该页面上搜索我想要的项目并将其包含在我网站的页面上吗?像 javascript 上的 getElementById 之类的?

4

3 回答 3

1

这在很大程度上取决于您尝试从中提取数据的页面。

首先,您应该检查 Just Giving 是否有可用于查询项目捐赠的 API。编辑:经过审查,有一个API - 这应该是首选方法!

否则,您可以尝试查看金额是否存储在特定的 div 中,这样会更容易找到字符串。此查找必须是“基于字符串的”,因为您的 JavaScript 不会在获取的文档的 DOM 上执行。因此,您需要.search在字符串上使用该函数并从那里开始工作,直到找到所需的值。

非常简单的解决方案是简单地在文档中找到“£”并将后面的字符串直到一个空格并将其显示为捐赠金额。

于 2012-11-13T17:55:13.970 回答
0

是的。如果 Just Giving 网站公开了一个带有您想要显示的片段的简单页面,您可以使用 JQuery(使用 Javascript)通过 AJAX 简单地获取该页面,并且无论您得到什么,都将它放在您想要显示的 HTML 元素中.

如果你有频繁的捐赠(比如每隔几秒),你也可以有一个每隔几秒更新一次的 Javascript 计时器。

如果您查看JQuery ajax() 方法,这里有一些示例如何查询另一个页面并获取其内容。获取内容后,您可以使用另一个名为 .html(htmlstring) 的 JQuery 方法,它只是替换 HTML 元素的 HTML 内容。

假设您有刚刚通过ajax()变量中的方法获得的页面内容justgiving<div id='justgiving-snippet'>然后您可以调用$('div#justgiving-snippet').html(justgiving);

你必须熟悉一点 Javascript,但它很容易。检查上面的 2 个链接以获取更多示例。

对了,justgiving你通过AJAX接收到的变量也是可以处理的。因此,如果您只想要其中的一个片段(例如带有 class 的元素的内容raised-so-far,您可以执行以下操作:

mysnippet = $('.raised-so-far', $(justgiving)).html();
于 2012-11-13T17:52:57.237 回答
-1

这也适用于将站点的一个区域的“部分”或“模块”添加到另一个区域:

采用提取 Just Giving 信息的逻辑并将其保存到单独的文件中。-仅- 仅提供逻辑,没有样式,没有 html 标头/正文/等。只是您希望在其他页面上打印的逻辑和原始数据。

在您的主页或索引页面上,将其放置在您希望数据显示的位置。

这将打印页面“片段”中的逻辑内容。把它想象成一个“模块”系统。这很粗鲁,很粗鲁,但它应该做你需要的。

于 2012-11-13T18:04:19.290 回答