Autor | Zpráva | ||
---|---|---|---|
jvlk Profil * |
#1 · Zasláno: 13. 5. 2009, 18:32:30
eval(element.TBUSERONCLICK + "anonymous()")
v IE8 hlásí že nemůže najít funkci "anonymous()" v předchozích verzích IE vše funguje jak má. nevíte si s tím někdo rady. díky :) |
||
peta Profil |
#2 · Zasláno: 14. 5. 2009, 07:51:49
Zaklad je odkaz na stranku, kterou bychom mohli otestovat ve verzi IE6 IE7 IE8 FF2 FF3 O9 a pod.
Neni-li co testovat, pak se na dotaz obvykle neda odpovedet. Muzeme se ptat, ale je to bezpredmetne a nikam to asi nepovede, pouze ztrata casu. co je promenna element? co je parametr TBUSERONCLICK? kde je definovana funkce anonymous? Pokud bude link, a bude fungovat bez chyb v IE7, jak tvrdis, pak ma smysl zkoumat, zda je anonymous vestavena nebo uzivatelem definovana funkce, kde je definovana, co v ni je a pod. 'nevíte si s tím někdo rady. ' Ano, nevime si s tim rady. |
||
jvlk Profil * |
#3 · Zasláno: 14. 5. 2009, 08:31:46
sorry ... byl jsem v tom tak dlouho zažranej, že jsem myslel že to musí být každýmu jasný :)))
funkce anonymous() ve scriptu definovaná není. eval vráti toto: function onclick() { return DECMD_BOLD_onclick() }anonymous() zde je popis kodéra, který ten javascript psal ... obrázek nechť si udělá každý sám // Execute the onclick handler that was on the event originally (user's onclick handler). // This is a little tricky; we have to call the anonymous function wrapper that was put around // the event by IE. Also, we set a global flag so that we can find out if a mouseout event occurs // while processing the user's onclick handler. mouseout and onclick behavior have to change if this happens. tento problémový kód je součástí většího skriptu. pokusím se jej zprovoznit samostatně. |
||
peta Profil |
#4 · Zasláno: 15. 5. 2009, 11:21:31
jvlk
Prvni veta me reakce byla o odkazu. Kdyz si prectes tema Jak psat do tohoto fora nebo neco podobne, je to jako prvni, tam se doctes, ze u programovaciho jazyka je zakladem odkaz na stranku, cely kod. Pokud nemame cely spustitelny kod, neni mozne hledat chybu testovani. Cimz by se proces urychlil o 20-300 prispevku. Schvalne si najdi nejdelsi odpovedi a zkus si to precist od zacatku. Presne stejny styl, autor nedal kod a zrejme k tomu nebyl vyzvan. polozil jsem otazky, na ktere jsem dostal odpoved? co je promenna element? NE co je parametr TBUSERONCLICK? NE kde je definovana funkce anonymous? ANO objevil se novy kod, k nemu muzu polozit dalsi otazky co je onclick() ? kde se onclick() pouziva? co je DECMD_BOLD_onclick() ? a kdyz na ruzna mista das alert(1) az 100, ktere z nich se vypisi a kde? kde to se nedovim, protoze nemam zbylych 100 radku, takze kdyz mi reknes, ze se vypise u ahoj(), o ahoj()neni zde zminka, tak z toho vim houbec. Zaver, zkratim celou reakci... Precti si to a zkus mi napsat, kdybys byl ten, co asi vi, co s tim, jak bys na tve prispevky odpovedel? Ja osobne ti porad nerozumim, co chces a kde chces zmenit. Casti kodu, ktere jsi sem dal jsou za urcitych podminek funkcni. A trosku o funkci eval. Funkce eval provadi prevedeni promenne typu string na JS kod. str = "alert(); alert('a')"; eval(str) ; Ty tam mas napsane eval(element.TBUSERONCLICK + "anonymous()") upraveno str = alert + "alert('a')"; // coz je naprosty nesmysl, protoze alert je symbolicky odkaz na funkci a "alert('a')" je textovy retezec. tyto 2 veci jsou nespojitelne pluskem eval(str) ; Neco jineho by bylo str = alert() + "alert('a')"; // kdy prvni alert vrati logickou hodnotu, ta je bud '', 1 , 0, -1, true, false ... v pripade takto napsaneho alert '' / true / 1 eval(str) ; // a eval tedy provede alert('a') Je to, s cim mas problem? Problem je, ze z tohoto ti neumim rici, jak to mas napsat, protoze mi chybi zdrojove kody tech funkci. |
||
Časová prodleva: 15 let
|
0