Solved

Suppress Right Click in Firefox

Posted on 2008-10-16
8
582 Views
Last Modified: 2011-10-19
We want to disallow a right click (to download pictures) from our web site.

We are using this JavaScript code which works fine in IE:
function noRightClick() {
      if (event.button==2) {
            alert('Sorry,  You can not right click.');
      }
}      
and then
document.onmousedown=noRightClick

This does not work in FireFox. What can I do to make it function similarly in FireFox?
0
Comment
Question by:Richard Korts
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 3

Expert Comment

by:wktang83
ID: 22732948
0
 
LVL 7

Expert Comment

by:bluV11t
ID: 22732995
Hi!
This code works in both browsers:
http://www.billybear4kids.com/clipart/riteclic.htm
<script language="JavaScript"> <!--
// No rightclick script v.2.5
// (c) 1998 barts1000
// barts1000@aol.com
// Don't delete this header!
 
var message="Sorry,  You can not right click."; // Message for the alert box
 
// Don't edit below!
 
function click(e) {
if (document.all) {
if (event.button == 2) {
alert(message);
return false;
}
}
if (document.layers) {
if (e.which == 3) {
alert(message);
return false;
}
}
}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.onmousedown=click;
// --> </script>

Open in new window

0
 
LVL 36

Accepted Solution

by:
Loganathan Natarajan earned 500 total points
ID: 22733191
This also works perfect, I got it from somewhere earlier,

<script language="javascript">
 
               var message="Right click is not allowed.";
               function clickIE4(){
 
                             if (event.button==2){
                             alert(message);
                             return false;
                             }
               }
 
               function clickNS4(e){
                             if (document.layers||document.getElementById&&!document.all){
                                            if (e.which==2||e.which==3){
                                                      alert(message);
                                                      return false;
                                            }
                                    }
               }
 
               if (document.layers){
                             document.captureEvents(Event.MOUSEDOWN);
                             document.onmousedown=clickNS4;
               }
 
               else if (document.all&&!document.getElementById){
                             document.onmousedown=clickIE4;
               }
 
               document.oncontextmenu=new Function("alert(message);return false;")
 
</script>

Open in new window

0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:Richard Korts
ID: 22734718
To bluV11t:

Does not work in FireFox. Same as before. I did not try in IE.

However, I may not be using it right.

I put it in it's own <script></script> tag set, I have a lot of other JavaScript already in there, I left that alone but REMOVED the previous document.onmousedown
0
 
LVL 7

Expert Comment

by:bluV11t
ID: 22735104
Did you specify language in the script tag? Tested it in both browsers...

In FF Ctrl+Shift+J to check any javascript errors. If error console is full of errors, click clear button and reload page.
0
 

Author Comment

by:Richard Korts
ID: 22736255
To bluV11t:

I combined all the Javacript into one. It works in IE 7.0. It DOES NOT work in FireFox 5.0.

Attached is the (generated) HTML with the javascript
proofs-ol1a.txt
0
 

Author Comment

by:Richard Korts
ID: 22736311
To logudotcom:

Your solution DOES NOT work in Firefox either. I have not yet tried it in IE.
0
 

Author Comment

by:Richard Korts
ID: 22736347
To logudotcom:

Sorry, I had a JavaScript error. Yours works. You get the points.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article will give core knowledge of JavaScript and will head in to your first JavaScript program. I am Durvesh Naik and I am here to deal with this series of JavaScript. I will teach you JavaScript in part wise , as its quite boring to read big…
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question