Tipp dich fit - Was kann ich besser machen?

Gespenst
Hallo, Leute!

Ich habe ein Skript namens "Tipp dich fit!" gecodet.
Da ich nicht so gut in JavaScript bin wollte ich fragen ob ich noch was
besser machen könnte.

Auch ein Lob nehm ich gerne an. Freude

Demo und Code: http://tippdichfit.org/demo/tippdichfit/index.htm

Danke im Vorraus! smile


Gespenst
ufomania
loool die musik geht ja gar net^^

und was soll die ms propaganda?
Gespenst
Zitat:
Original von ufomania
loool die musik geht ja gar net^^


Bei mit geht dass.

Zitat:
Original von ufomania
und was soll die ms propaganda?


Meinst du das dort eine Meldung kommt, dass es nur mit IE geht?

Dass hat schon seinen Grund
dèjavue
er meinte mit "geht ja nich" das sie musik etwas unsinnig ist Augenzwinkern

Und die scripts solltest du ändern damit sie auch auf den FF und go laufen es gibt einige andere Browser die weit verbreitet sind den mit der Abfrage schließt du immerhin alle Linux User aus Augenzwinkern
[kamui]
Zitat:
Original von dèjavue
der Abfrage schließt du immerhin alle Linux User aus Augenzwinkern


z.B. mich ...
NFL
Tipp dich fit! - einfaches schreiben auf der Tastatur
...
Es wurde noch keine Eingabe ermittelt!

Mit Firefox, wenn man die Browsererkennung umstellt! großes Grinsen
Gespenst
Im Firefox und in andren Browsern geht der JavaScript nicht, nur im IE.
Kann mir einer sagen wiso?
lycoos
LOLOLOLO


Wir wissen nimmer wie der aussieht


Woher solen wir dann wissen woran es liegt?


Das wäre so als ob du sachst mein Auto fährt nur auf der Autobahn, wieso?
dèjavue
hm wenn du es gecodet hättest wüsstest du auch warum fröhlich
Gespenst
Zitat:
Original von dèjavue
hm wenn du es gecodet hättest wüsstest du auch warum fröhlich



Ich hab die Meldung (alert) dort eingebaut, weil wie gesagt der JavaScript im Firefox nicht geht. CODE:



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:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:

if (navigator.appName == "Microsoft Internet Explorer") {

  function get(name) {

    function lies_parameter() {
  
      parameter = this.location.search; 
      parameter = parameter.substring(1, parameter.length);
 
    }
  
    function teile_parameter(paare) { 

      if (paare.indexOf('=') == -1){
      
      return 0;
     
    }

    else if (paare.indexOf('=') > 0){
     
      hilfs_array = paare.split("&");
      zaehler=0;
      paar_array = new Array(); 
      
      while (zaehler < hilfs_array.length) { 
        paar_array[zaehler] = hilfs_array[zaehler].split('='); 
        zaehler+=1; }
        
      return paar_array;
      
      }
    }
      
    function hole_wert(ausarray, suchbegriff, such_pos, ret_pos) {
   
      zaehler=0;
      
      while (zaehler < ausarray.length){ 
      
        if (ausarray [zaehler][such_pos] == suchbegriff){
         
          return (ausarray[zaehler][ret_pos]);
        } 
      
        zaehler+=1;
         
      }
      
      return 0;
    
    } 
  
    parameter_string = lies_parameter(); 
    paar_array = teile_parameter(parameter);
    fertig = hole_wert(paar_array, name, 0, 1);
    return fertig; 

  }

    satz= get("satz");
    file= get("file");
    fehler = get("fehler");
    bisher="";
    mit=0;
    spielt=0;

    document.write("<script src=" + file + " type=text/javascript></script>");
    document.onkeypress = keyHandler;


    function musik(ton) { 

        code = '<embed src="' + ton + '" loop="false" autostart="true" "mastersound" hidden="true"></embed>';
        document.getElementById("toene").innerHTML = code;
    
    }

    function keyHandler(e){
  
      var pressedKey;
  
      if (document.all){
  
        e = window.event;
    
      }
  
      if (document.all){
  
        pressedKey = e.keyCode;
      
      }
  
      else {
  
        pressedKey = e.which;
  
      }
  
      pressedCharacter = String.fromCharCode(pressedKey);

      if(spielt==0) {
  
        bisher=bisher + pressedCharacter; 
        ausgabe = new Array("Deine Eingabe lautet: " + bisher + "<br/>");
        tippe_div = eval(document.getElementById("tippe"));
        tippe_div.innerHTML=ausgabe;
    
        if(pressedCharacter != phrasen[satz-1].substring(mit,mit+1)){
      
          musik("falsch.wav"); spielt=1; fehler++; satz--;
          enter_div = eval(document.getElementById("error"));
          enter_div.innerHTML="Fehler - Weiter mit Enter!";
        
        }

        else if(phrasen[satz-1].length==bisher.length){
      
          musik("richtig.wav"); window.setTimeout("weiter()",200); 
        
        }
      
          mit++;
         
        }
  
      else {
  
        if(pressedKey==13){
    
          weiter();
      
        }
    
      }
    }

    function mach(){

      if(satz==""){
  
        satz=0;
    
      }
  
      var satzplus=satz;
      satzplus++; 
      text = new Array("Bitte tippe folgendes ein: " + phrasen[satz] + "<br/>");
      bereich_div = eval(document.getElementById("bereich"));
      bereich_div.innerHTML=text;
      status_div = eval(document.getElementById("status"));
      status_div.innerHTML = "Du hast bereits " + fehler + " Fehler gemacht! ";
      status_div.innerHTML += "Du arbeitest am Satz " + satzplus + " von " + phrasen.length + ".<br/><br/>";
      satzkeeper=satz; satz++;
  
    }

    function weiter(){

      spielt=0;
      ziel="tippe.htm?satz=" + satz + "&fehler=" + fehler + "&file=" + file;
 
      if(satz<phrasen.length){
  
        window.location.href=ziel;
    
      }
  
      else {
  
      alert("Herzlichen Glückwunsch, es wurden genau " + fehler + " Fehler gemacht!");
      location.href="index.htm"; 
  
      }
    }
  }

else {

  error = "Tipp dich fit kann nicht ausgeführt werden, weil Sie nicht den Microsoft Internet Explorer verwenden.\n\n";
  error += "Sie können sich den Internet Explorer auf http://www.microsoft.de downloaden.";
  alert(error);
  self.back();

}
dèjavue
Die verwendeteten Keyhandler beziehen sich nur auf die js-interpretation vom IE

du mußt über if cases die einzelnen handler einzeln als funktion ausgliedern.

=> http://www.devtrain.de/forummsg.aspx?id=5715&fid=12

ich tendiere aber ohnehin zum generellen Neu-Coden über php da hattest du den vorteil das die funktionen serverseitig laufen und die einzelnen interpreter der Browser beeinflussen kaum die ausführung
Gespenst
Zitat:
Original von dèjavue
Die verwendeteten Keyhandler beziehen sich nur auf die js-interpretation vom IE

du mußt über if cases die einzelnen handler einzeln als funktion ausgliedern.

=> http://www.devtrain.de/forummsg.aspx?id=5715&fid=12

ich tendiere aber ohnehin zum generellen Neu-Coden über php da hattest du den vorteil das die funktionen serverseitig laufen und die einzelnen interpreter der Browser beeinflussen kaum die ausführung



Also mit PHP kann ich es nicht machen weil es auf eine CD soll.
(ich kenne einen CD Webserver)

Ich weiss nicht so richtig wo ich die Keyhandler Funktion herholen soll.
Kannst du mir das in den Code einbauen?

Danke im Vorraus!
dèjavue
Keyhandler sind doch schon in deinen script schon drin

z.b

code:
1:
2:
3:
4:
5:
function keyHandler(e){
  
      var pressedKey;


Nur mußt du diese ändern das sie auch auf anderen Browsern funktionieren, ich jedenfalls mache es nicht du hast ja das script gecodet Augenzwinkern
Gespenst
Ich weiss echt nicht wie,
bitte,
ich bin Anfänger in JavaScript.

BITTE !!!
BITTE !!!

smile smile smile smile smile
ufomania
Zitat:
Original von Gespenst
Zitat:
Original von ufomania
loool die musik geht ja gar net^^


Bei mit geht dass.


wenn du so willst, ist es ja das schlimme^^

öhm....vielleicht ne zeiteinbau und testergebnis
Gespenst
Zitat:
Original von ufomania
Zitat:
Original von Gespenst
Zitat:
Original von ufomania
loool die musik geht ja gar net^^


Bei mit geht dass.


wenn du so willst, ist es ja das schlimme^^

öhm....vielleicht ne zeiteinbau und testergebnis



Ich nicht. An meine Schule hat mich ein Lehrer gefragt,
ob ich sowas machen könnte. Da bei wollte es auch diese
Musik haben.

Bitte gebt mir den Code, damit es auch z.b. im Firefox läuft.

Gespenst
lycoos
Schonmal an onkeydown gedacht?
Gespenst
Zitat:
Original von lycoos
Schonmal an onkeydown gedacht?


Ne, davon abgesehen weis ich auch nicht wie das genau gehen soll.

Ich kenne mich ehr mit PHP aus.

Bitte gebt mit denn Code, dann kann ich sehen wie es seihen muss
und ich lerne was dabei.
lycoos
GOOGLE

Da steht verdammt viel Code.....


langsam verliere ich den glauben daran das du das Ding gemacht hast.....
Gespenst
Bitte, ich finde nicht ... unglücklich