anpera.net https://anpera.dyndns.org/phpbb3/ |
|
Javascript : Hotkey https://anpera.dyndns.org/phpbb3/viewtopic.php?f=34&t=4170 |
Seite 1 von 2 |
Autor: | MySql [ Fr 07 Dez, 2007 14:45 ] |
Betreff des Beitrags: | Javascript : Hotkey |
Hallo, Mein erstes LotGD Hack Pack ist nun fertig^^ Habe direkt mit dem 2ten angefangen und suche nun eine Hotkey funktion. Was ist das? Durch einen Tastenklick auf der Tastatur, öffnet sich ein neues Fenster. Beispiel: Der Spieler drückt "Q" und die Datei userquest.php öffnet sich in einen neuen Popup. ................ Habe mich bei Google dumm und dämmlich gesucht und finde es nicht. Würde mich freuen wenn mir da mal schnell jemand weiter helfen könnte. Danke, schonmal an die jenigen, My. |
Autor: | Eliwood [ Fr 07 Dez, 2007 16:20 ] |
Betreff des Beitrags: | |
Stell dir mal vor: LoGD hat sowas schon. Cool, oder? Oder wie Properz mal sagte: nunc tu insanus medio flumine quaeris aquam. |
Autor: | Auric [ Fr 07 Dez, 2007 16:23 ] |
Betreff des Beitrags: | |
Vielleicht könnte man auch einfach die Hotkey-Funktionalität, die bereits in LotgD integriert ist verwenden oder auf ihre aufsetzen... Nur als Hinweis: Normalerweise ist es schon in HTML möglich, dem Browser Hotkey-Funkionen zu beschreiben, die jedoch immer nur in Verbindung mit der [alt]-Taste aktiviert werden. Das JS innerhalb von LotgD umgeht dies und simuliert die gedrückte [alt]-Taste, wenn ich mich nicht irre. Ich gibt es hier aber auch ähnlich Sprachen wie Delphi ein onKeyDown oder onKeyPress Event... schon die Google-Suche dazu hilft gewaltig dazu ^^ Grüße, Auric |
Autor: | Harthas [ Fr 07 Dez, 2007 16:25 ] |
Betreff des Beitrags: | |
Und auf Gut Deutsch: Du siehst den Wald vor lauter Bäumen nicht ;-) Das sollte man aber wirklich alles aus der addnav-Funktion ablesen können. |
Autor: | Eliwood [ Fr 07 Dez, 2007 16:31 ] |
Betreff des Beitrags: | |
Harthas hat geschrieben: Und auf Gut Deutsch: Du siehst den Wald vor lauter Bäumen nicht
;-) Nein, eigentlich heissts auf Deutsch "Jetzt suchst du, Wahnsinniger, mitten im Fluss das Wasser". ![]() @Auric: Schneller *feix* |
Autor: | MySql [ Fr 07 Dez, 2007 16:38 ] |
Betreff des Beitrags: | |
JA lotGD hat es , muss man dan aber verändern daher ich keinen button dazu haben will... Ist aber machbar. Danke an Euch ![]() |
Autor: | MySql [ So 09 Dez, 2007 20:00 ] |
Betreff des Beitrags: | |
An dem einen gescheitert und das andere mag mich nicht ![]() $this->bbcode_second_pass_code('', 'Function QuestWindow($questwindowurl, $questwindowkey) { output('<script type="text/javascript">',true); if (document.layers) document.captureEvents(Event.KEYPRESS); if ( (!document.all && document.getElementById) || document.layers){ if (e.which==$questwindowkey) window.open($questwindowurl, "fenster1", "width=600,height=400,status=yes,scrollbars=yes,resizable=yes"); } else if (document.all){ if (event.keyCode==$questwindowkey) window.open($questwindowurl, "fenster1", "width=600,height=400,status=yes,scrollbars=yes,resizable=yes"); } output('</script>',true); }') document.captureEvents soll ein Fehler sein! und dan haben wir noch ein Code aus Google. $this->bbcode_second_pass_code('', ' <script type='text/javascript'> <!-- // this was brought to you by Vareside var ziel = "http://www.google.de"; // ab hier nichts mehr ändern var hotkey=119 if (document.layers) document.captureEvents(Event.KEYPRESS); function backhome(e){ if ( (!document.all && document.getElementById) || document.layers){ if (e.which==hotkey) window.location=ziel; } else if (document.all){ if (event.keyCode==hotkey) window.location=ziel; } } //--> </script>') Gehen beide nicht. Evt. füge ich sie auch falsch ein........ Es kommt auf jeden fall immer ne fehler meldung ö_ö |
Autor: | Montekar [ So 09 Dez, 2007 20:27 ] |
Betreff des Beitrags: | |
LoGD 0.9.7 +jt ext (GER) 3 hat geschrieben: $this->bbcode_second_pass_code('', '<script language="JavaScript" type="text/javascript">
<!-- document.onkeypress=keyevent; function keyevent(e){ var c; var target; var altKey; var ctrlKey; if (window.event != null) { c=String.fromCharCode(window.event.keyCode).toUpperCase(); altKey=window.event.altKey; ctrlKey=window.event.ctrlKey; }else{ c=String.fromCharCode(e.charCode).toUpperCase(); altKey=e.altKey; ctrlKey=e.ctrlKey; } if (window.event != null) target=window.event.srcElement; else target=e.originalTarget; if (target.nodeName.toUpperCase()=='INPUT' || target.nodeName.toUpperCase()=='TEXTAREA' || altKey || ctrlKey){ }else{ if (c == 'B') { window.location='about.php?c=1-202232';; return false; } if (c == 'F') { window.open('petition.php?op=faq&c=1-202232','petitionphpopfaqc1202232','scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'C') { window.location='create.php?c=1-202232';; return false; } if (c == 'L') { window.location='list.php?c=1-202232';; return false; } if (c == 'T') { window.location='news.php?c=1-202232';; return false; } if (c == 'S') { window.location='about.php?op=setup&c=1-202232';; return false; } if (c == 'P') { window.location='create.php?op=forgot&c=1-202232';; return false; } if (c == 'O') { window.location='logdnet.php?op=list&c=1-202232';; return false; } if (c == 'D') { window.location='http://www.dragonprime.net';; return false; } } } //--> </script>') Steht alles im Quelltext der Startseite ... ![]() |
Autor: | MySql [ So 09 Dez, 2007 23:07 ] |
Betreff des Beitrags: | |
^^ Auch damit gehts nicht^^ Packe ich es aber in eine html Datei , drückt einfach mal Q geht es komsciher weiße. Versuch ich es auf dem Haupt Test Server geht es NICHT Ö_Ö $this->bbcode_second_pass_code('', 'Function QuestWindow() { $script .= "<script language='JavaScript' type='text/javascript'> <!-- document.onkeypress=keyevent; function QuestWindows(e){ var c; var target; var altKey; var ctrlKey; if (window.event != null) { c=String.fromCharCode(window.event.keyCode).toUpperCase(); altKey=window.event.altKey; ctrlKey=window.event.ctrlKey; }else{ c=String.fromCharCode(e.charCode).toUpperCase(); altKey=e.altKey; ctrlKey=e.ctrlKey; } if (window.event != null) target=window.event.srcElement; else target=e.originalTarget; if (target.nodeName.toUpperCase()=='INPUT' || target.nodeName.toUpperCase()=='TEXTAREA' || altKey || ctrlKey){ }else{"; if (c == 'Q') { window.open('userquest.php', 'none', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'I') { window.open('showinvent.php', 'nnoo', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'M') { window.open('mail.php', 'seee', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'E') { window.open('useredit.php', 'ferd', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } addnav('-.-','userquest.php'); $script .= "} } //--> </script>"; // return $script; }') Hab es auch mit return versucht.. Ich glaub ich bin zu dumm. ![]() Erbitte um Hilfe.. Es könnte ja auch sein das ich den Wald vor lauter Bümen nicht sehe...^^ |
Autor: | Eliwood [ Mo 10 Dez, 2007 18:32 ] |
Betreff des Beitrags: | |
Erstens: Die Taste darf natürlich nicht schon belegt sein. Zweitens: Die Funktion muss auch aufgerufen werden. Drittens: Hast du mir ne Glaskugel? Oder eine Testseite, bei der es *nicht* geht? |
Autor: | MySql [ Mo 10 Dez, 2007 19:02 ] |
Betreff des Beitrags: | |
Habs auf meinem Testserver , war zu faul ne neue Datei anzu legen xD Puch Me, Baby |
Autor: | Eliwood [ Mo 10 Dez, 2007 19:20 ] |
Betreff des Beitrags: | |
MySql hat geschrieben:
Ist ja logisch, dass da nix geht: $this->bbcode_second_pass_code('', '}else{ }') Hat ja auch keine Tasten, die geprüft werden. O.o |
Autor: | MySql [ Mo 10 Dez, 2007 22:10 ] |
Betreff des Beitrags: | |
MySql hat geschrieben: ^^ Auch damit gehts nicht^^
Packe ich es aber in eine html Datei , drückt einfach mal Q geht es komsciher weiße. Versuch ich es auf dem Haupt Test Server geht es NICHT Ö_Ö $this->bbcode_second_pass_code('', 'Function QuestWindow() { $script .= "<script language='JavaScript' type='text/javascript'> <!-- document.onkeypress=keyevent; function QuestWindows(e){ var c; var target; var altKey; var ctrlKey; if (window.event != null) { c=String.fromCharCode(window.event.keyCode).toUpperCase(); altKey=window.event.altKey; ctrlKey=window.event.ctrlKey; }else{ c=String.fromCharCode(e.charCode).toUpperCase(); altKey=e.altKey; ctrlKey=e.ctrlKey; } if (window.event != null) target=window.event.srcElement; else target=e.originalTarget; if (target.nodeName.toUpperCase()=='INPUT' || target.nodeName.toUpperCase()=='TEXTAREA' || altKey || ctrlKey){ }else{"; if (c == 'Q') { window.open('userquest.php', 'none', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'I') { window.open('showinvent.php', 'nnoo', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'M') { window.open('mail.php', 'seee', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'E') { window.open('useredit.php', 'ferd', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } addnav('-.-','userquest.php'); $script .= "} } //--> </script>"; // return $script; }') Hab es auch mit return versucht.. Ich glaub ich bin zu dumm. ![]() Erbitte um Hilfe.. Es könnte ja auch sein das ich den Wald vor lauter Bümen nicht sehe...^^ So wies da im Code, ist die function in der common, und so ist sie auch in der seite eingebunden! Und auf ner html seite geht es ja-.- |
Autor: | Garlant [ Di 11 Dez, 2007 12:55 ] |
Betreff des Beitrags: | |
Die Funktion QuestWindow ist in (d)einer Seite eingebunden? Wo? (Funktion QuestWindow steht in der common.php, aber eingebunden ist sie so noch nicht) In der Common.php jedenfalls nicht, es sei den ctrl+f hat etwas übersehen. Mfg Garlant |
Autor: | MySql [ Di 11 Dez, 2007 16:07 ] |
Betreff des Beitrags: | |
In der create.php: $this->bbcode_second_pass_code('', 'QuestWindow();') In der common.php: $this->bbcode_second_pass_code('', 'Function QuestWindow() { $script .= "<script language='JavaScript' type='text/javascript'> <!-- document.onkeypress=keyevent; function QuestWindows(e){ var c; var target; var altKey; var ctrlKey; if (window.event != null) { c=String.fromCharCode(window.event.keyCode).toUpperCase(); altKey=window.event.altKey; ctrlKey=window.event.ctrlKey; }else{ c=String.fromCharCode(e.charCode).toUpperCase(); altKey=e.altKey; ctrlKey=e.ctrlKey; } if (window.event != null) target=window.event.srcElement; else target=e.originalTarget; if (target.nodeName.toUpperCase()=='INPUT' || target.nodeName.toUpperCase()=='TEXTAREA' || altKey || ctrlKey){ }else{"; if (c == 'Q') { window.open('userquest.php', 'none', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'I') { window.open('userinven.php', 'nnoo', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'M') { window.open('usermails.php', 'seee', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } if (c == 'E') { window.open('useredits.php', 'ferd', 'scrollbars=yes,resizable=yes,width=550,height=300'); return false; } addnav('','userquest.php'); $script .= "} } //--> </script>"; // return $script; }') STEHT ganz OBEN^^ über Function pvpwarning Würde die functon nicht in der common sein, würde er mir ja nen Fehler von wegen " Undefined Function QuestWindow " ausgeben. My |
Autor: | Eliwood [ Di 11 Dez, 2007 17:12 ] |
Betreff des Beitrags: | |
Ist ja eigentlich ganz logisch, merk ich grad: $this->bbcode_second_pass_code('', 'document.onkeypress=keyevent; ') Deine Funktion heisst nicht keyevent. |
Autor: | MySql [ Di 11 Dez, 2007 19:09 ] |
Betreff des Beitrags: | |
Geht trotzdem nicht^^ Ich kann keyevent durch QuestWindows oder QuestWindow ersetztebn und es geht trotzdem nicht! |
Autor: | Eliwood [ Di 11 Dez, 2007 19:28 ] |
Betreff des Beitrags: | |
Mein Gott, stell doch endlich ein Testscript zur Verfügung, wo alles so ist, wie du es hast?!? Und das da ist nicht das, was ich will. Gibt auch ne Alternative: Schenk mir endlich ne Wahrsagekugel auf Weihnachten. Sorry, aber ich hab dich schonmal dazu angehalten, ein Testscript zur Verfügung zu stellen - und alles, was du gezeigt hast, ist der Mist oben, wos eh nicht funktioniert, weil da die Tastenbelegungen fehlen. |
Autor: | MySql [ Di 11 Dez, 2007 20:35 ] |
Betreff des Beitrags: | |
Das Testscript |
Autor: | Eliwood [ Di 11 Dez, 2007 20:38 ] |
Betreff des Beitrags: | |
Na also. Jetzt nur noch sagen, was nicht funktioniert, und gut ist. Taste Z und Q funktionieren nämlich bei mir. Z führt zu index.php, Q über userquest.php zu index.php (Userquest.php scheint weiterzuleiten). |
Seite 1 von 2 | Alle Zeiten sind UTC + 1 Stunde |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |