处理网页上的所有/任何链接点击


Process all/any link clicks on web page

我的一些用户需要使用虚拟桌面来访问我的站点上的某些信息(我在虚拟桌面之外也有一个站点)。在虚拟环境中,存在与外部世界的链接,这些链接不起作用。有没有办法(除了将onClick函数一一添加到每个链接,但如有必要,我会这样做)在用户单击虚拟环境中无法访问的链接时提醒用户?它只需要弹出一个带有"确定"按钮的警报,该按钮最终什么都不做/不遵循链接。

注意:URL 字符串在环境内外是不同的,因此检查 href 中的某些字符串会起作用。

谢谢。

如果您知道 href 中的 URL 将确定(某些)链接是否有效,您可以使用"开头为"(^=)、"结尾为"($=)或"包含"(*=)选择器来选择和禁用遵循外部模式的链接。

例如,如果所有不起作用的外部链接都是绝对的,并且以协议(http或https)开头,那么你可以在页面加载时做这样的事情(在jQuery中):

$('a[href=^="http"]').on("click", function(e) {
    e.preventDefault();
    alert("External links are not available");
});

这将采用所有以"http"开头的链接,防止其默认行为并向用户显示错误消息。