昨天我和一个出租车司机聊天,当他提到我是一名程序员时,他告诉我,几天前他经历了以下情况:在尝试从浏览器地址栏中复制 URL 时,出现一个消息框带有类似的消息“请不要复制此链接,而是注册”.
我不是网络开发人员,所以这可能是一个蹩脚的问题:-)但我想知道这样的事情是如何实现的呢?什么技术或语言可以让人们对浏览器内的事件进行这种级别的控制?
据我了解,该网站是某种电影下载服务。我没问他用的是什么浏览器,但他的平台是WinXP,所以很可能是IE。由于我不知道实现此功能的技术,因此我无法添加任何特定于技术的标签,但如果您知道合适的标签,请随时添加它。
免责声明:-)
读完答案后,大多数人似乎都同意这样的观点:
- 在浏览器页面上这很容易实现,但是
- 在地址栏上,如果可能的话,它根本就不是。
我特意回头询问,以确保他的意思是他正在复制地址栏中的 URL,他证实了这一点。尽管如此,这可能仍然是双方的误会。我没有亲眼目睹这件事的发生,所以我只能重复一下我听到的描述。
其一,有rightclick
事件。这很容易捕捉并做出反应。
还有比较通用的contextmenu
事件,但不适用于IE以外的浏览器。
我猜他们只是阻止了对链接的右键单击,基于这样的假设:除了复制之外,没有人会出于任何其他原因右键单击链接。所以他甚至没有从上下文菜单中选择“复制链接”,消息就立即出现了。
有一些基于键盘的方法可以打开上下文菜单,我希望它们仍然有效。
此行为最简单的 jQuery 实现是三行代码:
$("a").rightclick(function () {
alert("Please don't copy our links!"); return false;
});
至于“防止从地址栏复制” - 没办法。他们不可能这么做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)