How to disable right click menu in IE, Netscape 4 and Netscape 6

Discussion in 'Javascript' started by yaktipper, Jul 9, 2003.

  1. yaktipper

    yaktipper Guest

    This explains how to disable the view source / right-click menu in
    Netscape 4, Netscape 6 and Internet Explorer (IE).

    <script language="JavaScript">
    //This code is the beginning of the right click disable
    function right(e) {
    //This function is for Net 4.
    if (navigator.appName == 'Netscape' && (e.which == 3 || e.which ==
    2))
    {
    return false;
    }
    return true;
    }

    function context(){
    //This function takes care of Net 6 and IE.
    return false;
    }

    document.onmousedown=right;
    document.oncontextmenu=context;
    </script>

    Note: If you set up a frame page, and in each frame include the above
    code, the casual user will not be able to view the source. If you use
    frames, the browser menu option "View Source" will only view the main
    frame page source, not the individual frame source. However, any
    sophisticated user will be able to still view all the source simply by
    turning off javascript, or by using a browser that doesn't recognize
    this script.

    Note: Only tested on a Windows XP machine, run at your own risk. You
    may need to tweak the code for other platforms/browers, but you can
    get the idea from this sample.

    The reason I'm posting this is that it is very difficult for a novice
    to find this information on the Net, as an immense amount of posts
    declare this as impossible, and an equally immense amount of posts
    scathingly denounce this as the worst thing you can do to a web page.
    This post is for those people that simply want to meet a customer's
    needs. Even if the request is a bad idea, customers still pay the
    bills :)
    yaktipper, Jul 9, 2003
    #1
    1. Advertising

  2. yaktipper

    Jim Ley Guest

    On 9 Jul 2003 07:53:00 -0700, (yaktipper) wrote:

    >Note: Only tested on a Windows XP machine, run at your own risk. You
    >may need to tweak the code for other platforms/browers, but you can
    >get the idea from this sample.
    >
    >The reason I'm posting this is that it is very difficult for a novice
    >to find this information on the Net,


    Yet, you've not helped the novice, as you freely admit you've not
    tested this beyond a couple of browsers (ignoring popular ones like
    IE5)

    >as an immense amount of posts declare this as impossible,


    I've never seen it declared impossible in the browsers you're talking
    about, the groups FAQ even covers how to block the popup menu (it
    doesn't cover NN4, but then NN4 is hardly used, compared with other
    browsers your example doesn't cover)

    >This post is for those people that simply want to meet a customer's
    >needs. Even if the request is a bad idea, customers still pay the
    >bills :)


    Yes, but customers judge you better if you do a good job, not the
    uneducated bodge they asked for in the 1st place. Either way they
    still pay the bill, but if they get a good job - they recommend you to
    others.

    Jim.
    --
    comp.lang.javascript FAQ - http://jibbering.com/faq/
    Jim Ley, Jul 9, 2003
    #2
    1. Advertising

  3. yaktipper

    Lee Guest

    said:

    >Even if the request is a bad idea, customers still pay the
    >bills :)


    How much do you charge for all night?
    Lee, Jul 9, 2003
    #3
  4. yaktipper

    kaeli Guest

    In article <>,
    shared the illuminating thought...
    <snip>
    > The reason I'm posting this is that it is very difficult for a novice
    > to find this information on the Net, as an immense amount of posts
    > declare this as impossible, and an equally immense amount of posts
    > scathingly denounce this as the worst thing you can do to a web page.
    > This post is for those people that simply want to meet a customer's
    > needs. Even if the request is a bad idea, customers still pay the
    > bills :)
    >


    You are very mean, taking money from the mentally challenged.
    *G*

    ----------------------------------------
    ~kaeli~
    http://www.ipwebdesign.net/wildAtHeart
    http://www.ipwebdesign.net/kaelisSpace
    Jesus saves, Allah protects, and Cthulhu
    thinks you'd make a nice sandwich.
    ----------------------------------------
    kaeli, Jul 9, 2003
    #4
  5. yaktipper wrote:

    > This explains how to disable the view source / right-click menu in
    > Netscape 4, Netscape 6 and Internet Explorer (IE).


    Ineffective.
    http://stone.thecoreworlds.net/www/hide/

    > The reason I'm posting this is that it is very difficult for a novice
    > to find this information on the Net


    No, its easy: http://search.yahoo.com/bin/search?p=block right click

    >, as an immense amount of posts declare this as impossible


    No they don't - they declare it useless and irritating.

    > and an equally immense amount of posts scathingly denounce this as the
    > worst thing you can do to a web page.


    It isn't, but it certainly comes close.

    > This post is for those people that simply want to meet a customer's
    > needs


    I thought it was for novices? Novices shouldn't have customers, they should
    be learning.


    --
    David Dorward http://david.us-lot.org/
    Redesign in progress: http://stone.thecoreworlds.net/
    Microsoft announces IE is dead (so upgrade):
    http://minutillo.com/steve/weblog/2003/5/30/microsoft-announces-ie-is-dead
    David Dorward, Jul 9, 2003
    #5
  6. While the city slept, yaktipper <> feverishly typed:

    > This post is for those people that simply want to meet a customer's
    > needs. Even if the request is a bad idea, customers still pay the
    > bills :)


    Ok. So ask your builder to build you a house. Tell him you don't want
    foundations. Your builder will tell you that is a bad idea. You tell him
    "But I'm paying the bill!". A good builder will politely point out that he
    won't build a house without foundations as (building regulations, etc aside)
    he has a reputation to think of. Do you want to be a good builder or a bad
    builder?

    Cheers,
    Nige

    --
    Nigel Moss.

    Email address is not valid. . Take the dog out!
    http://www.nigenet.org.uk | Boycott E$$O!! http://www.stopesso.com
    "How strange the change from major to minor..."
    nice.guy.nige, Jul 9, 2003
    #6
  7. "yaktipper" <> wrote in message
    news:...
    <snip>
    >The reason I'm posting this is that it is very difficult
    >for a novice to find this information on the Net,


    Then perhaps the novices actually need instruction on how to type the
    words "contextmenu" and "javascript" into a search engine. 2000+ hits at
    google.com, though all of the scripts are as poor as the one you posted.
    That is because by the time anyone has learnt enough to do a good job of
    writing a context menu blocking script they have also learnt enough to
    know why doing so is a waste of their effort.

    >as an immense amount of posts declare this as impossible,


    No one has ever declared that using JavaScript to interfere with the UI
    of a web browser is impossible, it is in fact trivial. They may have
    stated that disabling the context menu on all browsers is impossible,
    Opera has never allowed JavaScript to influence its contextmenu.

    But more likely it is the goal that disabling the context menu is
    intended to promote that is being described as impossible. That goal is
    usually the concealing, protecting or obscuring of some implementation
    detail of a web page (source code, image files, etc.). Achieving that
    goal _is_100%_impossible_ because if a publicly accessible HTTP server
    sends something in response to a request then that response is available
    to the receiving client, from the binary stream coming down the wire
    though to the resulting files. Everything at every stage, and the HTTP
    server has no way of even knowing whether the requesting software is a
    web browser.

    >and an equally immense amount of posts scathingly
    >denounce this as the worst thing you can do to a web page.


    When it can be objectively determined that disabling a contextmenu both
    cannot be done reliably and will not facilitate anything beyond the
    inconvenience it causes to people who want (or, in the case of some
    disabilities, need) to use the contextmenu it does not seem unreasonable
    to assert that doing so is a bad idea. People who have suffered at the
    hands of script author's bad ideas may express there distaste with
    extreme words but that may just be an indicator of how bad an idea it
    is.

    >This post is for those people that simply want to meet a
    >customer's needs.


    That depends on what the customers need is. If they are after some sort
    of protection, or concealment then disabling the context menu will not
    deliver it. If you cannot deliver something that is asked for it makes
    more sense to say so (and why it is impossible) than have a customer
    discover later that you sold them just the illusion of security and not
    the real thing.

    On the other hand, if the customer's "need" is to randomly inconvenience
    the visitors to their web site and restrict disabled access well there
    are thousands of ways of doing that, crippling the browser's UI is
    barely scratching the surface.

    >Even if the request is a bad idea, customers still pay the bills :)


    If the request if for protection, concealment, security, etc., don't
    fool yourself you cannot deliver, if the request is for a site that will
    actively discourage visitors then fair enough, if they are willing to
    pay then knock yourself out, a little work and you can probably
    guarantee they get no visitors at all.

    For the sake of balance, this is a javascript URL that can be bookmarked
    and executed from the bookmark/favourites menu (or via drag-n-drop from
    Start->Favourites if the browser has no Favourites menu available) and
    will strip out the 'no contextmenu' script from the original post from
    each and every frame in a frameset (or just an isolated page):-

    javascript:void(function(fram){if((fram.frames)&&(fram.frames.length >
    0)){for(var c =
    fram.frames.length;c--;){arguments.callee(fram.frames[c]);};};try{docume
    nt.oncontextmenu = null;document.onmousedown =
    null;}catch(e){;}}(window));

    Richard.
    Richard Cornford, Jul 9, 2003
    #7
  8. "Richard Cornford" <> wrote in message
    news:behk2l$2tl$1$...
    <snip>

    Slight correction, the - document.onxxxxxx = null - lines should have
    been prefexed with - fram. - or they won't remove the script from the
    entire frameset :-

    javascript:void(function(fram){if((fram.frames)&&(fram.frames.length >
    0)){for(var c =
    fram.frames.length;c--;){arguments.callee(fram.frames[c]);};};try{fram.d
    ocument.oncontextmenu = null;fram.document.onmousedown =
    null;}catch(e){;}}(window));

    Richard.
    Richard Cornford, Jul 10, 2003
    #8
  9. yaktipper

    yak tipper Guest

    These replies are mainly techspam, thanks for backing up my reason for
    posting this in the first place.

    For those that pointed out other places to find answers and code
    examples, thank you.

    *** Sent via Developersdex http://www.developersdex.com ***
    Don't just participate in USENET...get rewarded for it!
    yak tipper, Jul 10, 2003
    #9
  10. yaktipper

    Paul Cooper Guest

    On Wed, 9 Jul 2003 18:40:36 +0100, "Richard Cornford"
    <> wrote:


    >
    >When it can be objectively determined that disabling a contextmenu both
    >cannot be done reliably and will not facilitate anything beyond the
    >inconvenience it causes to people who want (or, in the case of some
    >disabilities, need) to use the contextmenu it does not seem unreasonable
    >to assert that doing so is a bad idea. People who have suffered at the
    >hands of script author's bad ideas may express there distaste with
    >extreme words but that may just be an indicator of how bad an idea it
    >is.



    A small point - disabling the context menu, if it is essential to some
    disabled users, may fall foul of legislation (e.g. US Section 508,
    European Convention on Human Rights, Disability Discrimination Act in
    the UK).

    So, the professional should politely advise the client that not merely
    is blocking the context menu useless and likely to irritate many
    users, but may in many jurisdictions actually be illegal!

    Paul
    Paul Cooper, Jul 10, 2003
    #10
  11. "Paul Cooper" <> wrote in message
    news:...
    <snip>
    > >... (or, in the case of some disabilities, need) ...

    <snip>

    >A small point - disabling the context menu, if it is essential
    >to some disabled users, may fall foul of legislation (e.g. US
    >Section 508, European Convention on Human Rights, Disability
    >Discrimination Act in the UK).
    >
    >So, the professional should politely advise the client that
    >not merely is blocking the context menu useless and likely
    >to irritate many users, but may in many jurisdictions
    >actually be illegal!


    Reading over my post yesterday I though that I should not have been so
    definite in that statement as I don't remember the details. What I do
    remember is reading someone's assertion that due to circumstances
    pertinent to them as an individual they had a _need_ to use the context
    menu. And I have a vague memory that those circumstances were disability
    related.

    I would tend to always take someone's assertions about themselves at
    face value, but whether their perceived need to use the context menu was
    I real need (i.e. there may be some other mechanism that would achieve
    their goal but they were just not aware of it) I cannot say.

    That might make it difficult to argue the case on the grounds of
    disability legislation. But given, "unreliable", "useless" and
    "irritating" the possibility of adding "may be interpreted as illegal
    under some circumstances" should not be influencing the behaviour of a
    professional. The decision should already have been made.

    Richard.
    Richard Cornford, Jul 10, 2003
    #11
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Beryl Small

    Disable Right Mouse-Click Menu

    Beryl Small, Dec 21, 2004, in forum: ASP .Net
    Replies:
    3
    Views:
    864
    darrel
    Dec 21, 2004
  2. techfiddle
    Replies:
    22
    Views:
    2,567
    Beauregard T. Shagnasty
    Nov 2, 2006
  3. Leon
    Replies:
    3
    Views:
    170
    TaeHo Yoo
    Nov 26, 2004
  4. lcplben
    Replies:
    3
    Views:
    489
    Garrett Smith
    Oct 30, 2009
  5. FAQ server
    Replies:
    0
    Views:
    1,167
    FAQ server
    Feb 22, 2012
Loading...

Share This Page