Reiner Wirth: rechte Maustaste im Opera-Browser abfangen

Hallo,

obwohl ich http://de.selfhtml.org/navigation/anzeige/rechte_maustaste.htm gelesen habe und meine, es einigermassen verstanden zu haben, kann ich

die rechte Maustaste nicht abfangen.

Ich habe folgendes probiert:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>rechte Maustaste</title>

<script type="text/javascript">
function click (e) {
  if (!e)
  e = window.event;
  if ((e.type && e.type == "contextmenu") || (e.button && e.button == 2) || (e.which && e.which == 3)) {
  alert("rechte Maustaste gedrückt!"+e.type);
   if (window.opera) alert("Opera");
   return false;
  }
}

if (document.layers)
 document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = click;
document.oncontextmenu = click;
</script>
</head>

<body oncontextmenu = "return false">
 <p></p>
 </body>

</html>

Alle Browser melden brav, dass sie rechte MT gedrückt wurde, nur der Opera-Browser weigert sich. Ich habe keine Idee mehr.

Kann jemand helfen? (Ich weiß, die Sache ist umstritten im Forum, aber bei meiner CDROM-Anwendung währe eine Alternative rechte Maustaste anstatt Doppelklick sehr angenehm.

Gruß Reiner

  1. Hallo Reiner,

    Alle Browser melden brav, dass sie rechte MT gedrückt wurde, nur der Opera-Browser weigert sich. Ich habe keine Idee mehr.

    Was steht in:
    Extras - Einstellungen - Inhalte - Javascriptoptionen
    [ ] Behandlung von Rechtsklicks durch Skripte zulassen

    Grüße,

    Jochen

    --
    Kritzeln statt texten:
    Scribbleboard
    1. Hallo Reiner,

      Alle Browser melden brav, dass sie rechte MT gedrückt wurde, nur der Opera-Browser weigert sich. Ich habe keine Idee mehr.

      Was steht in:
      Extras - Einstellungen - Inhalte - Javascriptoptionen
      [ ] Behandlung von Rechtsklicks durch Skripte zulassen

      Grüße,

      Jochen

      ok, dann muss ich das wohl als Bmerkung an die User angeben. Man kann es nicht erzwingen?!

      Gruß Reiner

      1. hi,

        ok, dann muss ich das wohl als Bmerkung an die User angeben. Man kann es nicht erzwingen?!

        Das kommt darauf an, welche Druckmittel du gegenüber diesen Usern in der Hand hast.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Ich grüsse den Cosmos,

        ok, dann muss ich das wohl als Bmerkung an die User angeben. Man kann es nicht erzwingen?!

        Wieso willst du den WUnsch des Users, diese Funktion zu unterbinden, ignorieren? Hat der Besucher auf deinen Seiten kein recht auf eine eigene Meinung, sondern muss das tun, was du ihm sagst?

        Möge das "Self" mit euch sein

        --
        Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
        ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
        1. Ich grüsse den Cosmos,

          ok, dann muss ich das wohl als Bmerkung an die User angeben. Man kann es nicht erzwingen?!

          Wieso willst du den WUnsch des Users, diese Funktion zu unterbinden, ignorieren? Hat der Besucher auf deinen Seiten kein recht auf eine eigene Meinung, sondern muss das tun, was du ihm sagst?

          Möge das "Self" mit euch sein

          Hallo,

          was heißt hier Wunsch des Users, diese Funktion zu unterbinden?

          Ich will dem User das Leben erleichtern, indem er rechts klicken kann und eine Funktion bekommt, die in der Anwendung sinnvoller ist als ein dummes Contextmenu.

          Kann man das eigentlich wirklich in Opera nicht unterdrücken, ohne an die Registry zu gehen? In allen anderen Browsern, die ich kenne, geht es doch auch.

          Reiner

          1. Hallo Reiner,

            Ich will dem User das Leben erleichtern, indem er rechts klicken kann und eine Funktion bekommt, die in der Anwendung sinnvoller ist als ein dummes Contextmenu.

            Opera hat mit der Version 9 die Funktion "Seitenspezifische Einstellungen" eingeführt. Wenn der User das Kontextmenü auf deiner Seite nützlich findet kann er es für diese Seite erlauben. Und wenn nicht dann nicht .... davon geht die Welt nicht unter.
            Außerdem sind viele der selbstgebastelten Kontextmenüs so idiotisch programmiert, dass dadurch die Mausgesten nicht mehr funktionieren. Und auf die kann und will ich nicht verzichten.

            Grüße,

            Jochen

            --
            Kritzeln statt texten:
            Scribbleboard
            1. Hallo Reiner,

              Ich will dem User das Leben erleichtern, indem er rechts klicken kann und eine Funktion bekommt, die in der Anwendung sinnvoller ist als ein dummes Contextmenu.

              Opera hat mit der Version 9 die Funktion "Seitenspezifische Einstellungen" eingeführt. Wenn der User das Kontextmenü auf deiner Seite nützlich findet kann er es für diese Seite erlauben. Und wenn nicht dann nicht .... davon geht die Welt nicht unter.
              Außerdem sind viele der selbstgebastelten Kontextmenüs so idiotisch programmiert, dass dadurch die Mausgesten nicht mehr funktionieren. Und auf die kann und will ich nicht verzichten.

              Grüße,

              Jochen

              Hallo ihr alle,

              ich glaube, ich werde nicht verstanden:

              Die komplette Steuerung meiner CDROM-Anwendung, die ich auf HTML und javascript aufgebaut habe, damit möglichst alle Anwender, welchen Browser auch immer sie benutzen, sie bedienen können (entschuldigt bitte, ein Mammutsatz) – hat ausser Klick und Doppelklick (alte MacUser) mit Rechtsklick als angenehme Alternative zum dblclick keine sonstigen Steuerungen im Angebot abgesehen natürlich von Menuauswahlen. Ich habe absichtlich drauf verzichtet, mit Macromedia Director zu arbeiten, weil ich mich gerne mal mit javascript auseinandersetzen wollte. Nicht zuletzt Dank Eurer Hilfe hab ich da ja auch einige kleine Fortschritte machen dürfen.

              Was ich möchte ist eigentlich nur: Die Abschaltung (das Verstecken) des Kontextmenu beim Rechtsklick. Bis auf den Opera-Browser hab ichs ja bei allen geschafft. Nur er will oder kann es nicht, wahrscheinlich kann nur ichs nicht. Die Funktion "Seitenspezifische Einstellungen" konnte ich nirgends finden in Opera 9.10.

              Das wäre der Punkt, wo ich Hilfe bräuchte.

              Gruß aus dem sonnigen Berlin

              Reiner

              1. Hallo Reiner,

                Nur er will oder kann es nicht

                Das hat weder etwas mit wollen noch mit können zu tun. Das ist so. (Punkt)

                Die Funktion "Seitenspezifische Einstellungen" konnte ich nirgends finden in Opera 9.10.

                F12 oder Kontextmenü oder Extras - Schnelleinstellungen - Seitenspezifische Einstellungen

                Grüße,

                Jochen

                --
                Kritzeln statt texten:
                Scribbleboard
                1. [Kontextmenü unterdrücken]

                  Die Funktion "Seitenspezifische Einstellungen" konnte ich nirgends finden

                  Kontextmenü

                  Diese Konstellation entbehrt nicht einer gewissen Witzigkeit.

                  Roland

                  --
                  -)
              2. Bitte (ich weiß nicht ob ich dir das schon mal geschrieben habe), zitiere nur das worauf du antowrten möchtest. so wie du es machst ist es lästig.

                Die komplette Steuerung meiner CDROM-Anwendung, die ich auf HTML und javascript aufgebaut habe,

                Das ist der Punkt, HTML/JS ist keine Möglichkeit eine Anwendung zu schreiben, die unkontroliiert die Browsereinstellung kontrolliert. Du benutzt eine Technik, die für's Internet gedacht ist und damit starken Sicherheitseinschränkungen unterliegen muss. Diese werden dank der Fanatasie mancher Webmaster und böser Buben, eher größer als geringer. Damit musst du dich abfinden.

                Was ich möchte ist eigentlich nur: Die Abschaltung (das Verstecken) des Kontextmenu beim Rechtsklick. Bis auf den Opera-Browser hab ichs ja bei allen geschafft.

                Ich bin sehr erstaunt, dass es tasächlich im FF 2.0 geht, obwohl auch der eine Einstellung hat, das Kontextmenü nicht zu unterdrücken, trotzdem wird es bei mir nicht mehr angezeigt, ich bin aber sicher das es im FF 1.5 nicht geht.

                Struppi.

                --
                Javascript ist toll (Perl auch!)
                1. Hallo,

                  [Kontextmenü unterdrücken]
                  Ich bin sehr erstaunt, dass es tasächlich im FF 2.0 geht, obwohl auch der eine Einstellung hat, das Kontextmenü nicht zu unterdrücken, trotzdem wird es bei mir nicht mehr angezeigt, ich bin aber sicher das es im FF 1.5 nicht geht.

                  wenn es tatsächlich so ist, wie du es beschreibst, würde ich das für einen Bug im FF2 halten. Es sei denn, da wurden neue "Tricks" bei den Einstellungen eingeführt, die du übersehen hast.

                  So long,
                   Martin

                  --
                  Alleine sind wir stark...
                  gemeinsam sind wir unausstehlich!
              3. Hallo,

                Siehe </archiv/2007/2/t146143/#m948157>.

                Die Einstellungen von Opera sind für deine Frage irrelevant, egal, was dort eingestellt ist: Im Opera lässt sich das Kontextmenü meines Wissens nicht deaktivieren. (Es gibt wie gesagt einen Workaround - der wohl für deine Zwecke nicht in Frage kommt.)

                Mathias

          2. hi,

            Ich will dem User das Leben erleichtern, indem er rechts klicken kann und eine Funktion bekommt, die in der Anwendung sinnvoller ist als ein dummes Contextmenu.

            Warum bringst du sie dann nicht woanders unter?

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
          3. Ich grüsse den Cosmos,

            Kann man das eigentlich wirklich in Opera nicht unterdrücken, ohne an die Registry zu gehen?

            Nochmal im Klartext. Wenn ich als User das nicht will, kannst du dich auf den Kopf stellen, und es wird dir nicht gelingen, das zu ändern. Das einzige, was du erreichen wirst, das ich deine Seite nie wieder besuchen werde. Wenn das dein Wunsch ist, brauchst du keine Seite.

            In allen anderen Browsern, die ich kenne, geht es doch auch.

            Du kennst Firefox nicht? Das erstaunt mich jetzt aber ein wenig ...

            Möge das "Self" mit euch sein

            --
            Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
            ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
            1. habe d'ehre Manuel

              Nochmal im Klartext. Wenn ich als User das nicht will, kannst du dich auf den Kopf stellen, und es wird dir nicht gelingen, das zu ändern. Das einzige, was du erreichen wirst, das ich deine Seite nie wieder besuchen werde. Wenn das dein Wunsch ist, brauchst du keine Seite.

              Oh Mann, lies doch mal das Ausgangsposting richtig:

              ....aber bei meiner CDROM-Anwendung währe eine Alternative rechte Maustaste anstatt Doppelklick sehr angenehm.

              man liest sich
              Wilhelm

              1. Ich grüsse den Cosmos,

                ....aber bei meiner CDROM-Anwendung währe eine Alternative rechte Maustaste anstatt Doppelklick sehr angenehm.

                Ja und? Ich will auch nicht, das eine Anwendung auf einer CDROM meine Einstellungen im Browser ungefragt aushebeln kann.
                Wenn ich sowas für nötig halte (hab ich auch schon gemacht bei Präsentationen auf HTML-Basis), setze ich eben einen bestimmten Browser  vorraus.
                Und wenn der Operas das nicht kann (was mehrfach gesagt wurde), ich aber Browserunabhängig sein will, muss ich mir eine Alternative einfallen lassen.
                Aber ewig zu diskutieren, wie doof es doch ist, das es nicht funktionert, bringt niemanden der Lösung auch nur ein Stück näher.

                Möge das "Self" mit euch sein

                --
                Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
                ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
  2. Hallo

    also ich hatte vor kurzem ein ähnliches Problem und da ich den Opera selbst sehr gerne verwende, habe ich lange gesucht und tatsächlich eine Lösung gefunden :-) und die ist ziemlich simpel.
    Also wenn man rechte Maustaste zulässt hatte ich immer noch das Problem das sich das Operamenü über mein eigenes Menü drüber gelegt hat. Um auch diesen letzten Schritt zu meistern, das Operamenü zu unterdrücken, muss man nichts weiter tun als die Seite zu verlassen und wieder zu betreten. Also das ganze natürlich mit der Hilfe von JS.
    Also es reicht am Ende der Funktion

    window.blur();
    window.focus();

    zu notieren. Allerdings muss der Benutzer natürlich immer die Behandlung von rechter Maustaste zulassen sowie Scripte erlauben das Fenster in den Hintergrund und in den Vordergrund zu stellen.

    Allerdings erzeugt das wiederum einen anderen Fehler wenn man mit iframes Arbeitet, aber das sei hier nur am Rande erwähnt :-)

    Gruß Flo