在 v1.0 API 那个悲伤的旧时代,每次使用它的任何网站加载脚本时,都会进行数据库调用以从 设计语录 档案中提取新的语录。 它确实有效,但速度很慢,显然无法很好地扩展。
版本 2.0 旨在解决这些问题。 一个 CRON 作业用于每 10 分钟运行一次数据库查询,并将语录和标记写入 .TXT 文件。 然后,当调用脚本时,它只需读取该文件的内容并使用它来发挥作用。 它实际上运行良好。 我了解到这种技术被称为“贫民窟缓存”,我喜欢它。
但 2.0 在许多方面受到限制,因此我们为您带来了 版本 3.0! 功劳归功于 Doug Neiner,他领导了这个项目。 与 Doug 所做的一切一样,他在所有方面都做得非常出色。 </megapraise>
它能做什么?
它将设计语录中的随机语录插入到任何网站上。 它也是一个 JSON 文件,可用于更高级的场景。
不同的人有不同的需求
要以最简单的方式使用 API,您可以复制并粘贴一些代码。 对于稍微高级一点的使用,您可以在 JavaScript URL 的末尾添加参数来执行更高级的操作,例如指定要附加到的元素的 ID,或使用自定义格式化函数。 对于专业人士,您可以直接访问 JSON 文件并根据需要使用这些数据。
查看文档 以获取有关所有这些情况的信息。
它是如何工作的?
从根本上说,它类似于版本 2.0。 一个 CRON 作业(shell 脚本)每 10 分钟在服务器上运行一次。 只是它不写入 TXT 文件,而是创建 JSON 文件。 您引用的用于使用 API 的 JavaScript 文件实际上是伪装的 PHP。 与之前我们需要 PHP 读取文本文件不同,我们在这里实际上不需要它,因为该文件已经采用 JavaScript 可用的 JSON 格式。 但是,由于我们允许将参数传递给 JavaScript,因此我们需要 PHP 读取这些参数并相应地采取行动。
JavaScript 拥有它需要的所有语录信息。 它将一个 onload 事件附加到窗口,当该事件触发时,它会将语录格式化为 HTML 并将其弹出到页面上具有指定 ID 的元素中。
听起来复杂吗? 我想它有点复杂。 这里有很多不同的技术协同工作,最终简化了使用它的人的操作。 将所有这些放在一起看,真的非常漂亮。
我们可以看看吗?
关注 Fuel Your Coding,Doug 最终会谈论构建这样的 JSON API 的考虑因素,并且可能会在其中至少部分地参考这一点。
哦,还有一个部件!
如果您是 OS X 用户,现在有一个 仪表盘小部件 供您使用! 在该小部件页面上,您会找到一个下载链接以及一个指向托管(并开源!)项目的 Github 链接。
它在那里看起来很酷,但在仪表盘的褪色灰色背景下显得更加可爱。 它真的很棒。 再一次,Doug 在将网站的设计转换为小部件方面做得非常出色。 Windows 用户,抱歉,目前这仅限于 OS X,但请记住,那里有一个 JSON 文件,肯定可以构建其他小部件。
分享
如果您将 API 用于某个网站、小部件或任何其他用途,请通过在此处发表评论或发送消息来分享。 看看它如何被使用将会很有趣。 如果你有一些很棒的语录要分享,发送它们(点击“有新的语录?”链接)。 现在接近 500 条了!
很高兴看到这个。
哇! 这很方便……谢谢
Chris,这太棒了! 你怎么能抽出时间做这么多项目?
我赞同那个问题。
. . .忙碌,忙碌。
如果你热爱你的工作——时间就不重要了 :)
感谢 Doug 和 Chris。 我一直很喜欢设计语录,而这个新的 API 将使像我这样的人更容易分享。
附注。 新语录的订阅也很好!
虽然我感谢所有的工作,而且我目前确实在我的网站主页上使用了版本 2。 但我最近考虑将其删除,因为其中的一些内容。
90% 的语录很棒且非常相关。 其他 10% 我认为没有向我的客户传递正确的讯息。
例如。
我很少同意客户要求我做的事情
(虽然是真的……我不知道它是否传递了正确的讯息)
任何看到并将天空涂成绿色、田野涂成蓝色的人应该被绝育~阿道夫·希特勒
(虽然这是一个辛辣的评论,但我真的想在我的网站上引用世界上最大的大屠杀犯吗?)
我想简而言之,在审查该网站的内容时请务必小心。 我与一些非常保守的人合作,并非常努力地避免冒犯他们……
Kevin
我真的很喜欢这个想法,但从 Kevin Mist 的评论中可以看出,我只是想知道是否可以使用某些关键字,或者是否有办法只允许某些类型的关键字。 我猜没有,但任何提示都很好!
谢谢 Chris,好发现