【问题标题】:Open new window/tab in which right click option is disabled (JavaScript)打开禁用右键单击选项的新窗口/选项卡(JavaScript)
【发布时间】:2014-01-10 20:37:27
【问题描述】:

我需要在新打开的窗口中禁用右键单击的超链接单击上打开一个新窗口/选项卡。如何在 JavaScript 或 JQuery 中实现这一点?可以在OnClick()事件上将控制权传递给JavaScript并调用window.open(),但需要限制右键单击新窗口..

【问题讨论】:

  • 你能为此做一个小提琴吗?
  • @Shaamil 打开的新窗口来自您自己的域(页面)或其他一些 url?
  • 为什么需要禁用右键?总有办法解决这个问题。这只会让您的用户感到烦恼。
  • @yashhy 来自我自己的域。它在同一个网站上。
  • @Wisam 我没明白你说的小提琴是什么意思

标签: jquery html jquery-ui javascript


【解决方案1】:

如果您打开的新页面是您的,那么您可以在该页面上放置一些 JavaScript 以防止右键单击功能:

<script type="text/javascript"> 

var message="Sorry, right-click has been disabled"; 

function clickIE() 
{
    if (document.all) {(message);return false;}
}

function clickNS(e) 
{
    if (document.layers||(document.getElementById&&!document.all)) 
    { 
       if (e.which==2||e.which==3) {(message);return false;}}
    } 
if (document.layers) 
{
    document.captureEvents(Event.MOUSEDOWN);
    document.onmousedown=clickNS;
} 
else
{
    document.onmouseup=clickNS;
    document.oncontextmenu=clickIE;
} 
document.oncontextmenu = new Function("return false");

</script> 

像这样:How do I disable right click on my web page?

如果该页面不是您的,那么通常您无法阻止该页面上的右键单击功能。即使您在 iFrame 中显示其他页面,仍然无法阻止右键单击,如您在此处看到的:

因此只有当新页面在您的域中时才有可能

这带来了另一个“有争议”的想法,即在发出请求时将用户尝试打开的 url 的源文件复制到您自己的域,然后向该源添加一些 JavaScript,然后显示该源文件(您的 url ) 页面而不是原始页面。但是,这可能与 copyright laws 冲突,并且不必要地使问题复杂化。

请注意,强烈建议禁用右键单击,因为它只会激怒您的用户,并且不会阻止他们复制任何内容(因为总有办法绕过这些“禁用脚本”例如,通过禁用该页面上的 JavaScript 执行或仅查看源代码)。

因此,您不必费心尝试禁用鼠标右键。

如果您不希望您的用户能够从您的网站复制信息,那就不要把它放在那里。

这是因为互联网曾经的构建方式。 Read more here

简单地说:如果用户知道您的网站域,他们就知道您的域地址,因此他们可以打开/检索链接到该地址的所有(打开的)文件(实际上,由于一些聪明的技巧人们并不总是如此多年来一直在发展)。

互联网只是一个巨大的地址集合,其中每个地址都是您可以下载数据的门户。因此,试图通过客户端 JavaScript 保护文件是非常无知的,因为它忽略了所有文件都可以下载/查看的事实。

IMO,它只会激怒/吓跑一些不知道 JavaScript 是什么的用户。

我希望这能回答你的问题,但也让你重新考虑你的初衷。祝你好运!

【讨论】:

  • 感谢您的全面回复。就我而言,我正在打开一个新窗口,其中包含站点中 PDF 文件的路径。这不是我重定向到的应用程序页面。整个想法是停止使用打印或下载 PDF。这有点奇怪,因为您总是可以捕获数据(例如 Print screen ),但这是客户的要求。
  • @Shaamil:那么您应该在问题中提到这一点。也许这可以帮助你:ehow.com/how_6065120_prevent-copying-pdf-files.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
  • 2020-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多