javascript - 你能用 CSS 设计一个断开的链接吗?

标签 javascript html css

是否可以用不同的颜色设置损坏的链接(即试图链接到您网站上不存在的页面的链接)的样式?例如。工作链接是蓝色的,损坏的链接是红色的?

或者,如果不是 CSS,是否可以通过 JavaScript 识别它们,然后再为它们设置样式? (我无法使用 jQuery。)

最佳答案

不可以,您不能使用 CSS 设置损坏链接的样式。在某些代理尝试访问链接之前,浏览器不知道链接是否已损坏。

可以想象,您可以编写一些 Javascript,尝试为文档中的每个链接获取每个页面,然后,在某些链接失败时,它可以动态地将链接的样式更改为其他样式。但是,这可能是一个非常糟糕的主意,因为它可能会浪费大量带宽和一些 CPU(这两者在移动设备上尤为重要)。

而且,更进一步的是,一些链接指向其他域,浏览器可能会禁止您的 Javascript 直接获取这些页面(同源安全限制),因此您甚至可能无法使用 Javascript 执行此操作。

一个可行的可扩展系统是让您的服务器每隔一段时间(可能每隔几天一次)检查您在页面中使用的链接,将该信息保存在本地数据库中,然后您可以添加一个类在呈现页面时添加到链接(服务器端),然后 CSS 规则可以为该链接设置不同的样式。另外,服务器不受同源限制,所以你在服务器端没有限制。在确定离线时有很多问题需要注意,因为主机可能会暂时关闭,只能从 Internet 上的特定路径关闭,等等...

关于javascript - 你能用 CSS 设计一个断开的链接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35121386/

相关文章:

php - 正则表达式提取javascript方法调用

javascript - 单击功能在我的 Web 应用程序中不起作用

javascript - JS/TS判断一个JSON对象是否实现类或接口(interface)

javascript - 无法监视 angular.element

javascript - 创建具有动态宽度的不均匀列

javascript - 为什么我无法访问 document.querySelectorAll 的某些元素

javascript - 为什么调用 setState 方法不会立即改变状态?

html - a 标签内的不同悬停行为。 IE 8+ 中的问题

html - Firefox 位置 : absolute not returning expected results

html - div 的第一行受降压影响