如何检测浏览器中的链接复制情况?

2024-01-04

昨天我和一个出租车司机聊天,当他提到我是一名程序员时,他告诉我,几天前他经历了以下情况:在尝试从浏览器地址栏中复制 URL 时,出现一个消息框带有类似的消息“请不要复制此链接,而是注册”.

我不是网络开发人员,所以这可能是一个蹩脚的问题:-)但我想知道这样的事情是如何实现的呢?什么技术或语言可以让人们对浏览器内的事件进行这种级别的控制?

据我了解,该网站是某种电影下载服务。我没问他用的是什么浏览器,但他的平台是WinXP,所以很可能是IE。由于我不知道实现此功能的技术,因此我无法添加任何特定于技术的标签,但如果您知道合适的标签,请随时添加它。

免责声明:-)

读完答案后,大多数人似乎都同意这样的观点:

  • 在浏览器页面上这很容易实现,但是
  • 在地址栏上,如果可能的话,它根本就不是。

我特意回头询问,以确保他的意思是他正在复制地址栏中的 URL,他证实了这一点。尽管如此,这可能仍然是双方的误会。我没有亲眼目睹这件事的发生,所以我只能重复一下我听到的描述。


其一,有rightclick事件。这很容易捕捉并做出反应。

还有比较通用的contextmenu事件,但不适用于IE以外的浏览器。

我猜他们只是阻止了对链接的右键单击,基于这样的假设:除了复制之外,没有人会出于任何其他原因右键单击链接。所以他甚至没有从上下文菜单中选择“复制链接”,消息就立即出现了。

有一些基于键盘的方法可以打开上下文菜单,我希望它们仍然有效。

此行为最简单的 jQuery 实现是三行代码:

$("a").rightclick(function () {
  alert("Please don't copy our links!"); return false;
});

至于“防止从地址栏复制” - 没办法。他们不可能这么做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检测浏览器中的链接复制情况? 的相关文章

随机推荐

  • 如何在 macOS 上的 Qt 中使用 OpenMP 进行编译?

    我试图在我的 C Qt 应用程序中引入一些 OMP 并行化 但无法在 macOS 下编译它 同事们正在使用 Windows 或 Linux 一切都工作正常 我需要在 Qt 的 pro 文件中编写什么并在我的系统中执行哪些操作 此网站或任何其
  • 当所有代码更改均由 DBA 完成时,是否有替代使用 EF 进行 Code First 迁移的方法?

    我读过有关 代码优先迁移 的内容 但似乎这并不真正适合企业 我们有一个 DBA 来完成所有数据库更改 我们不需要将这些更改放入类中 也不需要由应用程序执行数据库迁移 如果我们更改类和 Fluent API 然后让 DBA 对数据库进行更改
  • 存储过程 - 结束日期

    我正在听 Hansel 分钟播客 StackOverflow 使用 ASP NET MVC Jeff Atwood 和他的技术团队 在播客过程中 他们谈论 SQL Server 并说了类似 存储过程的时代已经结束 的话 现在我不是一名 DB
  • cookie 不起作用,apache 到 nginx

    我已将我的网站从 apache 移至 nginx 但现在我遇到的问题是 当我的用户尝试登录网站时 我的网站不想向他们发送 cookie 或启动会话 这是我的登录脚本
  • 字体非常难看

    我正在使用以下代码绘制一个字符串 public Image DrawString String lString Image lImage new Bitmap 128 128 Rectangle rec new Rectangle 0 0
  • 使用相同 glm 的 glm 预测和 geom_smooth() 之间的差异

    我正在尝试使用概率模型重现其他人的工作 不幸的是 我没有太多关于他们的方法的信息 只有他们的起始数据和模型图 当我在 ggplot 中绘制数据并使用拟合线时geom smooth method glm 我能够重现以前的工作 然而 当我尝试使
  • 如何在golang中从AWS S3获取资源URL

    我需要使用 golang 获取资源的公共永久 未签名 URL官方AWS Go SDK https github com aws aws sdk go 在Java AWS S3 SDK中有一个方法称为getResourceUrl http d
  • Internet Explorer 11 在首次加载时忽略 list-style:none

    I am using the Superfish jQuery plugin for my menu In Chrome and in mobile Opera emulator it works fine but in Internet
  • 使用 Moq 验证方法调用

    我对 C 单元测试和学习使用 Moq 相当陌生 下面是我要测试的课程 class MyClass SomeClass someClass public MyClass SomeClass someClass this someClass s
  • 在 python 中搜索字符串匹配后如何从列表中获取下一个元素

    嗨 朋友们 我有一个列表 我正在其中搜索字符串 并且随着搜索的字符串我想获取列表项的下一个元素 下面是示例代码 gt gt gt contents apple fruit vegi leafy gt gt gt info data for
  • 在 xtext 语法中定义原语

    我想使用 xtext 创建一个极其简单的 DSL 具有以下功能 它将有两种基本类型 数字和字符串 用户可以定义自己的类 类由字段声明组成 字段声明将名称与类型相关联 其中类型可以是类或基元 以下是我对 DSL 的尝试 类定义和引用工作正常
  • UWP 应用程序在启动时自动启动

    一切都在标题中 我目前正在寻找一种方法来启动我的UWP app 自动地仅使用 UWP 框架启动 Windows 时 计算机上没有文件操作 该应用程序必须能够在应用商店中共享并在 Windows 启动时打开 这是一件可行的事情吗 如果是这样怎
  • 组织导入 Eclipse 方法

    I need to know which method is called inside eclipse when I press CTRL SHIFT O Organise Imports in order to invoke it af
  • 使用 azurerm 配置 Terraform 子网时出错

    最近我发现我的 AKS 集群拥有一个太小的子网 因此 我尝试添加第二个子网和节点池 现在可以通过 Azure CNI 实现 然后创建一个适当的子网并将其迁移回来 During terraform plan有效响应一切顺利 但是在应用时会抛出
  • Git 在制表符和空格之间进行转换,但只是有时

    首先 我是 git 的新手 就像 如果缓存在暂存区域中命中我 我几乎无法区分缓存和索引 或类似的东西 排除了这一点 我的问题是这样的 假设我想要处理一个编码风格要求缩进空格的项目 但我喜欢制表符 似乎我可以使用清洁和涂抹功能 但有一个问题
  • 在 JS 中新建一行

    你好 我有这个 JS 代码 function myFunction var g var d new Date getDay switch d case 0 g Today it s Sunday break case 1 g Today i
  • 如何发送 FastAPI 响应而不将用户重定向到另一个页面?

    我正在使用 FastAPI 创建一个 API 它接收form data从 HTML 页面处理数据 需要一些时间 并返回一条消息 说明此任务已完成 这是我的后端 from cgi import test from fastapi import
  • 安装 geopandas 的问题

    我正在尝试在我的笔记本电脑 Windows 10 版本 1709 机器 上安装 geopandas 执行 pip install geopandas 命令后 我收到以下消息 command python setup py egg info
  • 为什么jsp改变时tomcat不需要重启

    我一直在使用JSP Servlet很长一段时间 我知道每当我们改变任何东西Servlet我们需要重新启动 Tomcat 服务器才能获取更改 如果 JSP 发生更改 tomcat 不需要重新启动 据我所知JSP页面被转换成Servlet仅当编
  • 如何检测浏览器中的链接复制情况?

    昨天我和一个出租车司机聊天 当他提到我是一名程序员时 他告诉我 几天前他经历了以下情况 在尝试从浏览器地址栏中复制 URL 时 出现一个消息框带有类似的消息 请不要复制此链接 而是注册 我不是网络开发人员 所以这可能是一个蹩脚的问题 但我想