MozillaPL.org - polskie centrum Mozilli

Główne menu:

Mozilla i dziwny kod JS

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

Mozilla i dziwny kod JS

Postautor: Dryobates » 23 kwietnia 2004, 17:29

Przeglądarka: Mozilla/5.0 (X11; U; FreeBSD i386; pl-PL; rv:1.6) Gecko/20040415

Witam,
Mam wielka prośbę o sprawdzenie kogoś używającego Mozilli pod Windowsem, czy zadziała u kod:
http://sandc.prv.pl/dryo/listo2.php.html
Znajduje sie tam fragmencik strony z JavaScriptem. Niestety przy tlumaczeniu przez pisanie pod Mozillą w systemach uniksowych i uniksopodobnych naciśnięcie ENTERA nie powoduje przejścia do nastepnego słówka. W IE działą to.
Dlatego potrzeba mi znaleźć powód tego. Czy to problem źle napisanego kodu pod kątem obsługi systemu czy może to jest kod IE-only :(
Jakby ktoś miał ochotę zajrzeć do pliku js to znajduje sie pod adresem:
http://sandc.prv.pl/dryo/novaj_vortoj_nova.js

Z góry dziękuję za każdą próbę pomocy.
Dryobates
 

Postautor: Olhado/256 » 23 kwietnia 2004, 18:27

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.0; pl-PL; rv:1.6) Gecko/20040113

U mnie też nie działa. Ja bym stawiał na błąd w kodzie, który czyni go IE-only, ale tu już się musi wypowiedzieć ktoś, kto się na na JS.
Pamiętaj obywatelu: WTYCZKI TO NIE TO SAMO, CO ROZSZERZENIA!
WinXP SP2
Olhado/256
Moderator
 
Posty: 3878
Z nami od: 26 września 2002, 09:47
Lokalizacja: Wrocław

Postautor: prefiks » 23 kwietnia 2004, 19:38

Przeglądarka: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7b) Gecko/20040415 Firefox/0.8

Nie sprawdzane, więc może nie pomóc, być może jeszcze coś jest do poprawki.


Wyciąć ze żródla, usunąć <br/> i przepuścić przez patch-a

--- orig.js 2004-04-23 20:32:51.000000000 +0200
+++ mod.js 2004-04-23 20:35:52.000000000 +0200
@@ -34,7 +34,7 @@
{
//emb.play();

- var dd = document.all[id];
+ var dd = document.getElementById(id);
//alert("sound ="+dd);
try{
dd.play();
@@ -713,7 +713,7 @@
else if (test_mode==1)
{
content += '<tr><td colspan="2" align="center">';
- content += '<input id = "sranje17" type="text" value="" onKeyDown="edit_event_down(this)" onKeyUp="edit_event(this)" onKeyPress="edit_event(this)" onchange="edit_event(this)" style="width:350;align:center;font-family: Tahoma, Verdana, Arial, Helvetica;font-size: 17px;background-color: #FFFFFF;border-top: 0px none;border-right: 0px none;border-bottom: 1px solid #999999;border-left: 0px none;text-align: center;font-weight: bold">';
+ content += '<input id = "sranje17" type="text" value="" onKeyDown="edit_event_down(this,event)" onKeyUp="edit_event(this,event)" onKeyPress="edit_event(this,event)" onchange="edit_event(this,event)" style="width:350;align:center;font-family: Tahoma, Verdana, Arial, Helvetica;font-size: 17px;background-color: #FFFFFF;border-top: 0px none;border-right: 0px none;border-bottom: 1px solid #999999;border-left: 0px none;text-align: center;font-weight: bold">';
content += '</td></tr>';
}
else if (test_mode==0)
@@ -794,9 +794,9 @@
}
function make_focus(id)
{
- if (document.all[id]!=null)
+ if (document.getElementById(id)!=null)
{
- document.all[id].focus();
+ document.getElementById(id).focus();
}
}
function ask(index) //index = test_mix[no][?] , ? = 0,1,2
@@ -885,21 +885,21 @@

}
}
- function edit_event_down(Input)
+ function edit_event_down(Input,event)
{
/* var te = Input.value;
if (direction == 1){ te = to_esperanto(te);}
te = replace_all(' ',' ',te); //make esperanto and remove double spaces
if (te!=Input.value) {Input.value=te;}
*/
- edit_event(Input);
+ edit_event(Input,event);
if (event.keyCode==13 || event.keyCode==10)
{
event.keyCode=0;
ask_input(Input.value);
}
}
- function edit_event(Input)
+ function edit_event(Input,event)
{
var te = Input.value;
if (direction == 1){ te = to_esperanto(te);}
prefiks
 
Posty: 179
Z nami od: 30 grudnia 2002, 01:45

Postautor: Dryobates » 23 kwietnia 2004, 21:56

Przeglądarka: Mozilla/5.0 (X11; U; FreeBSD i386; pl-PL; rv:1.6) Gecko/20040415

Dziekuje bardzo za pomoc. Dla moich potrzeb wystarczylo zmienic tylko te funkcje:

Kod: Zaznacz cały
function edit_event_down(Input)
      {
        edit_event(Input);
        Input.onkeydown=null
        Input.onkeyup=function(e){
        if(!e)e=event
          if (e.keyCode=='13')
           {       
            ask_input(Input.value);
           }       
}
}


Jakby nie mozna bylo trzymac sie standardow... eh to IE.
Dryobates
 


Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], dexter, Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: