Solved

Suppress Right Click in Firefox

Posted on 2008-10-16
8
588 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

The Ultimate Checklist to Optimize Your Website

Websites are getting bigger and complicated by the day. Video, images, custom fonts are all great for showcasing your product/service. But the price to pay in terms of reduced page load times and ultimately, decreased sales, can lead to some difficult decisions about what to cut.

Question has a verified solution.

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

Having worked on larger scale sites, we found out that you are bound to look at more scalable solutions to integrating widgets, code snippets or complete applications and mesh them into functional sites, in any given composition. To share some of…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
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…

719 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