[ERLEDIGT] Rechte Maustaste in einzelnen Unterforen abschalten |
Biggi
Mitglied
Dabei seit: 08.01.07
Beiträge: 3.479
Fähigkeiten: WBB2 Profi Forenversion: 2.3
|
|
Laß es einfach.
Es macht überhaupt keinen Sinn, weil der unterbundene Rechtsklick immer auf mehrere Arten umgehbar ist.
__________________
|
|
19.04.07 02:42 |
Finden
Als Freund hinzufügen
|
|
Daddy Cool
Mitglied
Dabei seit: 12.11.05
Beiträge: 28
Forenversion: 2.3
Themenstarter
|
|
Das man alles irgendwie immer umgehen kann ist mir bekannt.
Danach hatte ich aber nicht gefragt.
Und was ich lass oder nicht musst mir schon ueberlassen.
|
|
19.04.07 18:16 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Biggi
Mitglied
Dabei seit: 08.01.07
Beiträge: 3.479
Fähigkeiten: WBB2 Profi Forenversion: 2.3
|
|
Das war auch nicht böse gemeint. Nur als Ratschlag, weil viele denken, sie hätten damit einen ganz tollen Schutz.
__________________
|
|
19.04.07 19:31 |
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
Hast du denn Google schon gefragt? Außerdem wurde diese Frage hier auch schon einmal gestellt.
|
|
19.04.07 19:42 |
Finden
Als Freund hinzufügen
|
|
Schweinebacke
Mitglied
Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg
|
|
Hier ein Beispiel wie man es lösen kann, und den User eine Nachricht beim Rechtsklick oder ein eigenes Menü mitgeben kann.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Testseite</title
<style>
<!--
/* Context menu Script- © Dynamic Drive (www.dynamicdrive.com) Last updated: 01/08/22
For full source code and Terms Of Use, visit http://www.dynamicdrive.com */
.skin0{
position:absolute;
width:165px;
border:2px solid black;
background-color:menu;
font-family:Verdana;
line-height:20px;
cursor:default;
font-size:14px;
z-index:100;
visibility:hidden;
}
.menuitems{
padding-left:10px;
padding-right:10px;
}
-->
</style>
</head><body>
<!-- Kontextmenü Anfang -->
<div id="ie5menu" class="skin0" onMouseover="highlightie5(event)" onMouseout="lowlightie5(event)" onClick="jumptoie5(event)" display:none>
<div class="menuitems" url="http://www.google.de">Nachricht 1</div>
<div class="menuitems" url="http://www.google.de" target="_blank">Nachricht 2</div>
<div class="menuitems" url="http://www.google.de">Nachricht 3</div>
<div class="menuitems" url="http://www.google.de">Nachricht 4</div>
<div class="menuitems" url="http://www.google.de">Nachricht 5</div>
<div class="menuitems" url="http://www.google.de">Nachricht 6</div>
<hr />
<div class="menuitems" url="http://www.google.de">Nachricht 7</div>
</div>
<!-- Kontextmenü Ende -->
<h1 id="box">der Bereich für die Rechtssperre</h1>
<!-- Script am Seitenende einfügen -->
<script language="JavaScript1.2">
//set this variable to 1 if you wish the URLs of the highlighted menu to be displayed in the status bar
var display_url=0
var ie5=document.all&&document.getElementById
var ns6=document.getElementById&&!document.all
if (ie5||ns6)
var menuobj=document.getElementById("ie5menu")
function showmenuie5(e){
//Find out how close the mouse is to the corner of the window
var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<menuobj.offsetWidth)
//move the horizontal position of the menu to the left by it's width
menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth
else
//position the horizontal position of the menu where the mouse was clicked
menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
//same concept with the vertical position
if (bottomedge<menuobj.offsetHeight)
menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
else
menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
menuobj.style.visibility="visible"
return false
}
function hidemenuie5(e){
menuobj.style.visibility="hidden"
}
function highlightie5(e){
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
firingobj.style.backgroundColor="highlight"
firingobj.style.color="white"
if (display_url==1)
window.status=event.srcElement.url
}
}
function lowlightie5(e){
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
firingobj.style.backgroundColor=""
firingobj.style.color="black"
window.status=''
}
}
function jumptoie5(e){
var firingobj=ie5? event.srcElement : e.target
if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode
if (firingobj.getAttribute("target"))
window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target"))
else
window.location=firingobj.getAttribute("url")
}
}
//getElementById entfernen und es funktioniert auf die ganze Seite
if (ie5||ns6){
menuobj.style.display=''
document.getElementById("box").oncontextmenu=showmenuie5
document.onclick=hidemenuie5
}
</script>
</body></html> |
|
|
|
19.04.07 21:33 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Daddy Cool
Mitglied
Dabei seit: 12.11.05
Beiträge: 28
Forenversion: 2.3
Themenstarter
|
|
@ Biggi74
Ich habs auch nicht boese aufgefasst. Nur beantwortete das meine Frage nicht.
@[kamui]
Ja hab ich aber hab nichts passendes gefunden.
@ Schweinebacke
Danke, aber ich wollte wissen WO ich das einbauen muss.
In welche Datei auf dem FTP oder in welches Template vom ACP aus.
Den Code hab ich, soagr sehr viel kuerzer und einfacher:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
|
<script language="javascript" type="text/javascript">
<!--
function right(e) {
if (navigator.appName == 'Netscape' && (e.which == 2 || e.which == 3)) {
alert("Kein Rechtsklick moeglich");
return false;
}
else if (navigator.appName == 'Microsoft Internet Explorer' && (event.button==2 || event.button == 3)) {
alert("Kein Rechtsklick moeglich");
return false;
}
return true;
}
document.onmousedown=right;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
window.onmousedown=right;
// -->
</script> |
|
Wenn mir jetzt nur noch einer sagen koennte, WO der hin muss, in welches Template oder andere Datei oder wohin auch immer (oder wie ich den eventuell noch veraendern muss), das waere klasse.
Ich will damit ja nur ein Forum sperren und nicht das ganze Board.
Das ich den ansonsten irgendwo in die Index.tpl ablegen kann weiss ich auch, aber dann ist das ganze Board rechtsklick-gesperrt (und das will ich ja gerade eben nicht). Der kann auch ins header.tpl rein, funzt genauso, aber nur fuers ganze Board.
Da muss irgendwas rein mit "Foren-ID" in den Code, also das sich das nur auf ein Forum auswirkt, aber ich weiss nicht wie ich das anstellen muss, bin kein Progger.
Gruss Daddy Cool
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Daddy Cool: 19.04.07 22:14.
|
|
19.04.07 22:05 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Schweinebacke
Mitglied
Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg
|
|
Ich habe mich mal in den Templates umgesehen, und nichts passendes gefunden, um ein Forum ab zu fragen und dem entsprechend den Script einsetzen.
Was mir aufgefallen ist, dass der Forumstitel im Seitentitel mitgegeben wird, Den kann man über JavaScript abfragen, und den Script damit aktivieren.
Den würde ich mal in das „bord-Templates“ setzen.
Übrigens der Script geht auch mit dem FF.
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
|
<html><head><title>Test | Sperre | Beitrag</title>
</head><body>
<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)) {
if (window.opera)
window.alert("Sorry: Diese Funktion ist deaktiviert.");
return false;
}
}
var forum = document.title;
var ergebnis = forum.search(/Sperre.+/); //gesucht wird im Seitentitel nach Sperre
if (ergebnis != -1){
if (document.layers)
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = click;
document.oncontextmenu = click;
}
</script>
</body></html> |
|
|
|
19.04.07 23:41 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Daddy Cool
Mitglied
Dabei seit: 12.11.05
Beiträge: 28
Forenversion: 2.3
Themenstarter
|
|
Ja, klar geht der auch mit FF.
Ist schon ein ziemlich alter Code deshalb stand bei mir da auch noch Netscape drin.
Ja ich werd mich mal weiter umsehen und herumtuefteln,wenn ich irgendwie zu einer brauchbaren Loesung komm sag ich die hier an.
Aber vielleicht ist ja auch irgend jemand etwas schneller als ich.
Man muesste den Code irgendwie anpassen das der ueber die Foren-ID nur auf das entsprechende Forum greift, das sollte machbar sein.
Waere jedenfalls schoen, denn ich glaub nicht, das ich der einzigste bin, der daran Interesse haette.
Auf alle Faelle danke fuer die bisherigen Bemuehungen, vielleicht ergibt sich ja noch irgendwie etwas.
EDIT:
So ich hab mich jetzt noch mal mit deinem Code hingesetzt und probiert. Gleich vorweg: Es geht.
Und zwar so:
DAS HIER:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
|
<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)) {
if (window.opera)
window.alert("Sorry: Diese Funktion ist deaktiviert.");
return false;
}
}
var forum = document.title;
var ergebnis = forum.search(/TEST.+/); //gesucht wird im Seitentitel nach TEST
if (ergebnis != -1){
if (document.layers)
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = click;
document.oncontextmenu = click;
}
</script> |
|
ins Template HEADER eingeben, wo ist egal.
(Im Index-Template hat er nicht gefunzt, hatte ich erst probiert)
Das Wort TEST im Code gegen ein Wort, welches im Titel des betreffenden Forums vorkommt, austauschen.
Natuerlich sollte das ein Wort sein, was nur in dem gewueschten Forum im Titel auftaucht und nicht in noch weiteren Foren, ansonsten wird dort in den weiteren Foren ebenfalls die rechte Maustaste abgeschaltet.
Was in deinem Code nicht geht, ist die Ausgabe einer Warnmeldung wenn man die rechte Maustaste klickt. Da passiert gar nichts.
Aber das ist mir nun wirklich reichlich egal, wichtig ist fuer mich nur das der Code funzt und es moeglich macht, in ganz speziellen Foren die rechte Maustaste abzuschalten, und genau das macht er.
Man kann damit auch in mehrere Foren die rechte Maustaste sperren, einfach den Code im Template Header verdoppeln und das Wort TEST mit einem Wort aus dem Titel eines weiteren Forums austauschen und schon ist ein weiteres Forum fuer die rechte Maustaste gesperrt.
Hab ich ausprobiert, klappt auch.
Jo, wie gesagt, haut hin.
Bedank ich mich ganz recht herzlich dafuer
denn damit ist mir schon sehr geholfen.
Gruss Daddy Cool [img]http://img89.imageshack.us/img89/3281/1954winknw6.gif[/img]
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Daddy Cool: 20.04.07 03:39.
|
|
19.04.07 23:55 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Schweinebacke
Mitglied
Dabei seit: 06.01.06
Beiträge: 826
Herkunft: Baden Württemberg
|
|
Geht noch besser,
habe das Script ein wenig geändert und getestet. Funktioniert auf den entsprechenden Forumstitel.
Kann man hier mal nachsehen. Lass ich zum Testen bis zum 22.04.2007 drin.
Sperre bei Forum - News – Titelseite und allen Beiträgen.
Script im footer-Template oder header-Template
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
|
<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)) {
if (window.opera)
window.alert("Sorry: Diese Funktion ist deaktiviert.");
return false;
}
}
var forum = document.title;
var ergebnis = forum.match(/\bTitelseite\b/gi); // hier den Forumstitel eintragen (/\b.........\b/gi)
if (ergebnis){
if (document.layers)
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown = click;
document.oncontextmenu = click;
}
-->
</script> |
|
|
|
20.04.07 07:41 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Daddy Cool
Mitglied
Dabei seit: 12.11.05
Beiträge: 28
Forenversion: 2.3
Themenstarter
|
|
Jo, funzt bestens, bis auf die Meldung, die wird nicht ausgegeben wenn man die rechte Maustaste klickt (bei mir jedenfalls nicht).
Das ist aber auch nicht wichtig und hat nichts mit der Funktion zu tun.
Nur man koennte den Code noch verkleinern, denn wenn die Meldung nicht ausgegeben wird, brauchen die Zeilen dafuer im Code auch nicht enthalten zu sein, ist nur ne Codeoptimiereung, weiter nix.
Aber wie gesagt: Das Teil funzt so wie es soll und nur darauf kommt es an.
Gruss Daddy Cool
|
|
20.04.07 16:36 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|