我相信不同的人在想到 Webring 时会有不同的画面,所以让我澄清一下我想到的是什么。 我看到网站上有一个元素
- 表示该网站是 Webring 的一部分
- 允许您移动到 Webring 的下一个或上一个网站
- 可能还有其他功能,比如转到“随机”网站或查看完整列表
但另一件重要的事情是
- 网站所有者不必做太多。 他们只需将它放到网站上,一个功能性的 Webring UI 就出现了。
就像这样

它以前是怎么工作的? 你知道吗? 我不知道。 我猜想它是一个古老的 <frameset><frame /></frameset>
情况,但这些东西在我之前就存在了。 我们今天该如何做呢?
好吧,我们可以使用 <iframe>
,我想。 这就是像 YouTube 这样的网站在提供“嵌入代码”作为 HTML 代码段时所做的。 像 Twitter 和 CodePen 这样的网站会提供一个 <div>
(或任何语义 HTML)和一个 <script>
,这样就可以有回退内容,并且脚本将其增强为一个 <iframe>
。 <iframe>
可能还不错,因为它对网站所有者的要求非常低,但众所周知它们对性能非常不利。 毕竟它是一个在另一个文档中的完整文档。 此外,它们在自定义方面也没有提供太多选择。 你得到什么就得到什么。
iframe
的另一个问题是……它怎么知道自己目前嵌入在哪个网站上? 可能是 URL 参数? 可能是来自父页面的 postMessage
? 如果你问我,这并不太干净。
我认为网络组件可能是这里要走的路,只要我们考虑现代化。 我们可以创建一个自定义元素,比如 <webring-*>
。 让我们这样做,并专门针对 CSS 网站。 这将使我们有机会使用属性发送当前网站,就像这样
<webring-css site="https://css-tricks.cn">
This is gonna boot itself up into webring in a minute.
</webring-css>
这解决了技术选择问题。 现在我们需要弄清楚存储数据的全局位置。 因为,好吧,Webring 需要能够被更新。 网站需要能够被添加到 Webring 中或从 Webring 中删除,而无需 Webring 上的其他网站做任何操作。
对于像这样的相当简单的,GitHub 上的 JSON 文件似乎是一个完美的现代选择。 让我们这样做。

现在每个人都可以以一种相当易读的方式查看 Webring 中的所有网站。 此外,他们可以提交 Pull Requests 来添加/删除网站(请随意操作)。
从我们的网络组件获取这些数据需要一个 fetch 请求
fetch(`https://raw.githubusercontent.com/CSS-Tricks/css-webring/main/webring.json`)
.then((response) => response.json())
.then((sites) => {
// Got the data.
});
我们将在我们的网络组件安装时发送它。 让我们构建一个框架……
const DATA_FOR_WEBRING = `https://raw.githubusercontent.com/CSS-Tricks/css-webring/main/webring.json`;
const template = document.createElement("template");
template.innerHTML = `
<style>
/* styles */
</style>
<div class="webring">
<!-- content -->
</div>`;
class WebRing extends HTMLElement {
connectedCallback() {
this.attachShadow({ mode: "open" });
this.shadowRoot.appendChild(template.content.cloneNode(true));
fetch(DATA_FOR_WEBRING)
.then((response) => response.json())
.then((sites) => {
// update template with data
});
}
}
window.customElements.define("webring-css", WebRing);
剩下的部分并不那么有趣,以至于我觉得我们需要一步一步地讲解。 我只会为你博客概述一下
- 从网络组件中提取属性,以便我们可以看到当前网站是什么
- 在数据中匹配当前网站
- 从模板中的数据构建“下一个”、“上一个”和“随机”链接
- 更新模板中的 HTML
瞧!
你能用它做更多的事情吗,比如错误处理、更好的设计以及更好的所有东西?
是的。
所有这些都很酷,而且快速谷歌搜索告诉我
但为什么他们需要 Webring? 难道它是 2000 年 Facebook 群组的替代方案吗?
我 14 岁,顺便说一下。 我和 Webring 并不共存……
它们在我之前也存在了一段时间,而我已经 40 岁了。 我认为这更多是关于谷歌之前的时代。 例如,Webring 可能是一种主要的方式来找到其他相关网站,因为当时没有可靠的方式来搜索或浏览其他网站,尤其是针对非常利基的东西。 当然,真实的故事可能更有意思,也更微妙。
现在的网络与当时大不相同。 现在的网络主要是几个大型网站、社交媒体和一些博客。
但在以前,在谷歌告诉我们应该看哪些网站之前,有成千上万个随机网站,很难找到其中的一些网站。
Webring 是找到有关您感兴趣的主题的新网站的好方法。
如果您喜欢露营(例如),您可以加入一个露营 Webring 并找到各种很棒的内容。
现在一切都是关于谁最能遵循谷歌的规则。 但毫无疑问:仍然有数百万个很棒的网站,您永远不会知道,因为谷歌并不真正想让您知道它们。
当我想到 Webring 时,我被带回了网站“在 Internet Explorer 中浏览效果最佳”的时代,
<blink>
和<marquee>
标签统治着网络!(在某种程度上,它们仍然存在于新闻网站上,每个故事都是“突发新闻”——并且 JavaScript 模仿了 blink 和 marquee!)我真的很喜欢使用网络组件的想法,但它们能像
iframe
嵌入代码一样“轻松分发”吗?好问题。 查看一下
我想说,如果您将网络组件放到 npm 上,它会变得非常容易。
看起来很有趣……我想知道如果它也使用门户网站会是什么样子,我很想知道它是否可以真正恢复。
嘿! 我不仅最近创建了一个 Webring (https://sidebar.io/blog/lets-bring-webrings-back),CSS-Tricks 甚至也是其中的一部分! 这是它的横幅(我使用的是 SVG 而不是网络组件)
https://sidebar.io/webring/banner/yxft.svg?color=FF8A00
您可以使用以下方法嵌入它
我使用了一个传统的数据库来存储站点列表,但直接从 GitHub 获取 JSON 非常酷!
这太聪明了! 绝妙的想法!
大约在 1999 年,我加入了大约 24 个 Webring。 将网站添加到搜索引擎比现在要复杂一些,这也是 Webring 被发明的原因,也是为什么网站有时会有一页包含指向其他网站的有用或有趣的链接的原因。 网络主要由免费主机上的业余网站组成,我使用的网站大多数都是这样,这些东西帮助了我们所有人。
它比添加
iframe
要复杂一些。 Webring 组织者会给您网站一个名称或编号以及一些代码。 您将代码放到页面上,更改相关的位,使用您的名称或编号,然后就完成了。 每个类型的 Webring 的代码都不同,您可能会得到一个图像映射、表格、JavaScript,有时甚至是一个 Perl 脚本。曾经有 20 家提供商和大约 80,000 个不同的环,但它们都在 2005 年遇到了问题,因为网站消失了或者失去了兴趣。
像 RingGo、RingSurf 和 WebRingo 这样的网站仍然保留着它们的首页,但指向各个网站的大多数链接都失效了。
最大的系统是 WebRing,它被雅虎收购并毁掉了——https://www.salon.com/2001/12/05/webring/
您见过 weirdwidewebring.net 吗?
它们让网站发布“上一个”,“下一个”链接到 Webring,而且看起来它是根据引用网站在 Webring 中的位置进行重定向的。 很聪明!
有趣的帖子。 很少有人知道和讨论 Webring。
啊,那些美好的日子……当 geocities 仍然存在,dun 也存在的时候。 Web ring 是访问具有相同信息/相同利基的网站的简便方法。 如果我没记错的话,我们管理员也会审查它们.. 但那是 20 多年前..
我们也不要忘记留言板! 同一时间段;)
下周——如何使用 Microsoft GIF Animator 创建旋转电子邮件图标 https://web.archive.org/web/20180603060628/http://gwanderson.server101.com/Computer101/gifAnimate.htm :)
neocities.org 现在已经上线,并且拥有大量有趣的网站。 它也是完全免费的,没有广告,没有任何东西,只由自愿捐款支持。
所以,实际上,geocities 仍然存在,因为 neocities 与它是一样的。 我喜欢在那里迷失在有趣、创意、独特的网站中。
我可能很快就会创建一个,毕竟它是免费的!
我今年 36 岁。我小时候主要使用 Webrings,因为搜索引擎当时还处于研发阶段。它们让寻找网页变得非常有趣。很不错的是,Webring 的主页由管理员维护,他们必须通过检查环内网页来维护链接列表。你必须申请并让你的网页获得批准才能成为环的一部分。
对于不了解的人来说,Web Rings 曾经是(并且仍然是!)一种炫耀你朋友的方式。它是一种与其他网站建设者保持联系的方式。成为一个环的一部分就像自我策划,就像加入一个社区守望组织。你相信你的邻近网站也是一个值得待的好地方,如果不,你就会离开这个环。你确保这一点的方式是积极参与环内讨论。现在,我加入了越来越多的 Discord 频道,与 Twitter 或 Facebook 群组不同,这些频道没有面向公众的元素。我们中有些人有网站!我们正在考虑的一种展示我们共同兴趣的方式是再次拥抱 Webrings。尤其是在网页设计师中,这是一种直接互相链接的方式,而不是在社交媒体上分享所有内容。跳跃一个好的 Webring 就如同查看别人精心挑选的书籍,不会被打断。
Web Rings 使用 /CGI-BIN,这就是为什么当时不是每个人都能运行自己的 Web Rings。支持 PERL 服务器端的托管对于大多数休闲网站所有者来说仍然太昂贵了。
“货币化”毁了互联网。感谢风险投资资本和 FAANG。
我从 1998 年开始使用 WebTV 上的互联网。所以我对 Webrings 很熟悉,我非常喜欢它们。我希望它们以不同的方式回归。我学习了 HTML 和一些 Javascript,并在 WebTV 上创建了图形、动画和网站,所以我从“手工编码”和创建的基础开始学习。这激励我去上大学,今天我是一名网页设计师/开发人员,并且在 Mac 上工作。它肯定需要现代化,让我再次思考 Webrings 的原因是 SEO 中的链接建设。也许可以换个名字,而不是“webring”,不同的方法,不同的方法和交付方式。
在过去(90 年代),当时的搜索引擎并不那么出色,Webrings 提供了一种很酷的方式来找到与特定细分市场相关的其他网站。
记住 Yahoo 最初是一个链接目录,仅此而已。一个庞大的链接目录是他们成名的原因。
我今年 60 岁,所以比 Webrings 年代更早。天哪!
我是一名训犬师(实际上是 #训练人),我需要一个 Webring。为什么呢?说起来很简单,但也十分深刻,因为 Webrings 已经随着搜索引擎的出现而几乎消失,搜索引擎声称自己是所有搜索事物的最终目标,但出现了一个明确的需求,只有 Webrings 才能解决。让我解释一下。
如果你和一位“训犬师”谈话,大多数训犬师会试图向人们推销“训练狗”,实际上是“训练人”。不过,在 Google 搜索时,没有神奇的触发词、搜索开关或标签来确认一个网站的方法。这个网站是进行人员训练还是进行狗训练?默认情况下,大多数人都试图训练狗。然而,我不这样做。我训练人。
我可以使用诚信制度,想出一个代表“训练人”的神奇词语,或者甚至可以使用标签 #训练人作为关键字,但我们知道有些人不会遵守规则,因为有些人的行为就是这样。所以……
…我想做的事情是实施一个 Webring,这样那些确实进行 #训练人的人就可以成为该 #训练人 Webring 的一部分,我们可以审查申请者,可以选择剔除那些后来从主要进行 #训练人 转为 #训练狗的人,并且环内参与者可以控制参与者的实力和可靠性。
现在,我需要开始磨练我的编码技能,阅读其他人所做的工作。@Chris 的 CSS 可能是一个起点,但在全局范围内,我并不擅长这方面,所以我有点迷茫。
如果它健壮、准确、防黑客、灵活到足以在未来一个月、一年、十年内适应,如果 #训练人环能够坚持这么长时间,那么我就会坚持下去。我只是没有能力知道正确、最好的做法。
Doug Parker
The DOuGTrainer
http://www.DOuGTrainer.com
这是个大胆的想法,如果能有一个 Webring 能够整合一种包含每个网站声誉评分的方式,那就太棒了。这完全说得通。
Webring 的参与者可以实时审查环内其他参与者。如果有一个投票赞成和投票反对声誉的按钮,那么这个环就可以主动维护每个网站的声誉评分,当某个网站的声誉评分低于某个阈值时,就会出现一个警告,并且由于声誉评分过低,可能会发生一些事情。
如何实现它,在哪里保存数据,如何防黑客,我目前还不精通,但我很好奇 GitHub 是否仍然可以提供解决方案。
早期互联网是一个拒绝“自上而下生成内容”的运动。微软收购 LinkExchange,雅虎收购 WebRing,并将这两个深受喜爱的服务强行关闭,这并非巧合。
你的互联网提供商会在你的拨号上网服务中包含免费的网页托管(想想这个!)。每个人都拥有一个关于他们喜欢的主题的平台,并且存在竞争。
WebRing 和 LinkExchange 将所有这些联系在一起,这样你就可以浏览你喜欢的主题,而不会让某个亿万富翁使用算法来断言他们的个人偏见。
大型科技公司故意杀死了这个运动,从那时起,我们看到一切民主化事物都在滑向封建主义。
(续)
如果你要今天复活“web rings”,你不需要任何浏览器标签支持。
(但这并不意味着浏览器制造商没有责任培育和发展网络,目前网络正在消亡,因为有些人永远不会离开 Facebook。Firefox 在这里发挥着明确的作用)。
今天,你只需使用从 DNS 中提取签名数据的 Javascript。一个环的拥有者只是一个特定域名下的签名密钥(就像老的环拥有者是特定的人一样)。
UI 只是生活在静态 S3 存储桶或 Lambda/FaaS 服务中的 Javascript。或者,代码也可以作为 TXT 存在于 DNS 区域中。
人们低估了 DNS 的灵活性。DNS 是开放网络的最后一块不受内容守门人严格控制的部分。