是否可以在一个 href 参数中放置多个 URL



我想在我的网站页面上放置一个带有 <a> 标签的链接,但有多个 URL,以防第一个不起作用。我会是这样的:

<a href="url1;url2;url3"

但这当然行不通。那么有没有办法做到这一点呢?

谢谢

最接近的将是:

  1. href中放置默认网址
  2. 在其他位置列出备用网址(例如在data属性中)
  3. 绑定一个 click 事件处理程序,该处理程序运行一些阻止默认行为的 JavaScript,然后依次测试每个 URL,直到找到一个有效(或用完)的 URL。

测试需要 Ajax,这将需要:

  • 通过 CORS 从您测试的每个 URL 获得权限
  • 代理
  • 的用户(这将测试代理而不是浏览器的 URL 的可用性)

额外的 HTTP 请求将消耗带宽(从而消耗时间)。

"第一个不起作用"是什么意思?服务器正在发送错误?仅使用 HTML 不可能做你想做的事。

Javascript 可以通过向锚点添加一个侦听器来完成,在第一个 url 上发送 HTTP 请求以查看您是否收到 200 或像 500 这样的错误。如果出现错误,请检查第二个 url 等,并将用户重定向到您收到 200 的位置。

否则,如果您只想打开所有链接,这里已经有一篇关于此的帖子:如何使用单个锚标记打开多个链接

使用

纯 HTML 无法做到这一点,因为 HTML 无法检测您所说的"不起作用"是否适用于给定的 URL。

最新更新