如何禁用与特定域的右键单击链接

时间:2013-07-04 16:18:46

标签: javascript jquery contextmenu

我想禁用右键单击链接,我找到了这段代码:

    <script type="text/javascript" language="javascript">
        $(document).ready(function()
        {
           $('body').on('contextmenu', 'a', function(e){ return false; });
        }); 
    </script>

我想添加一个特定的域名。像这个代码(adfly全页脚本)

    <script type="text/javascript">
        var ad5fly_id = 4484512;
        var ad5fly_advert = 'int';
        var domains = ['depositfiles.com', 'rapidshare.com'];
    </script>
    <script src="https://cdn.adf.ly/js/link-converter.js"></script> 

基本上,我不希望访问者右键点击我的ad5fly链接,因为他们可以轻松绕过它。我正在谈论这个:http://ad5f.ly/4484512/www.google.com:他们可以复制它并只复制谷歌链接。然后我不会赚到任何东西。帮帮我们 谢谢!!

抱歉我的英文不好

3 个答案:

答案 0 :(得分:0)

尚未对此进行测试,但这是此主题的解决方案:

Disabling right click on images using jquery

$('body').bind('contextmenu', function(e) {
    return false;
});

如果这不起作用,您也可以尝试附加documentwindow的功能。

答案 1 :(得分:0)

这就是你可能正在寻找的东西

<script type="text/javascript">
    $(document).load(function(){
       $('body').on('contextmenu', 'a[href*=ad5f]', function(e){
            e.preventDefault();
            //or return false; does the same
        });
    }); 
</script>

如果锚点的href在某处包含ad5f,则将阻止上下文菜单。

<强>更新 我已添加到LOAD而不是READY,因为如果准备就绪,它可能会在link-converter.js结束之前触发(交换网址)并且选择器可能会失败。

答案 2 :(得分:0)

您可以遍历域并取消页面加载时的右键单击菜单。

  var domains = ['depositfiles.com', 'rapidshare.com'];
  for (var i = domains.length - 1; i >= 0; i--) {
    $('body').on('contextmenu', 'a[href*="'+domains[i]+'"]', function(e){ return false });
  };