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

Y

yaktipper

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 :)
 
J

Jim Ley

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.
 
K

kaeli

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.
----------------------------------------
 
D

David Dorward

yaktipper said:
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.
 
N

nice.guy.nige

While the city slept said:
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. (e-mail address removed). Take the dog out!
http://www.nigenet.org.uk | Boycott E$$O!! http://www.stopesso.com
"How strange the change from major to minor..."
 
R

Richard Cornford

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.
 
R

Richard Cornford

<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.
 
Y

yak tipper

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.
 
P

Paul Cooper

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
 
R

Richard Cornford

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.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,764
Messages
2,569,564
Members
45,039
Latest member
CasimiraVa

Latest Threads

Top