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

标签 javascript php jquery html virtual-machine

我的一些用户需要使用虚拟桌面来访问我网站上的一些信息(我在虚拟桌面之外也有一个网站)。在虚拟环境中,与外界的链接是行不通的。有没有什么方法(除了向每个链接一一添加 onClick 函数之外,但如果有必要,我会这样做)在用户单击虚拟环境中不可访问的链接时提醒用户?它只需要弹出一个带有“确定”按钮的警报,该按钮最终不执行任何操作/不点击链接。

注意:环境内外的 URL 字符串是不同的,因此检查某些字符串的 href 是可行的。

谢谢。

最佳答案

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

例如,如果所有不起作用的外部链接都是绝对的并且以协议(protocol)(http 或 https)开头,那么您可以在页面加载时执行类似的操作(在 jQuery 中):

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

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

关于javascript - 处理网页上的所有/任何链接点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35588809/

相关文章:

javascript - 如何在 squarespace 上添加 JavaScript 代码注入(inject)以更改 href 属性?

javascript - 严格模式下引用绑定(bind)函数内部

php - 避免在 PHP 中显示来自数据库的重复结果

javascript - 如何更改从 JSON 创建的表的单元格颜色

javascript - 使用 php 重复弹出窗口

javascript - Waypoints 计数器向上计数(然后向下计数)并且当 div 处于即时 View 时不执行脚本

javascript - block 上的jquery过渡效果

javascript - 关闭事件的 Accordion 项目

asp.net - 样式删除所有样式

javascript - 使用 Javascript 根据在另一个下拉列表中选择的内容设置下拉值