

Script nefunkční v Google chrome
Mám chat normálně <FRAMESET> z jedné stránky odkazuju
<A href="javascript:smajl('*1*')" target="formular"><img border="0" title="*1*" src="/images/smiles/chat/1.gif" alt="*1*"></A>
do druhé kde je formulář
<FORM NAME="formular" ACTION="formular.php" METHOD="POST">
<INPUT TYPE="TEXT" NAME="zprava" MAXLENGTH="1000" SIZE="75" AUTOCOMPLETE="off">
</FORM>
mam na to script
function smajl(t) {document.all.zprava.value+= ' ' + t; }
var DHTML = (document.all || document.layers);
function getObj(name) {
if (document.all) {
return document.all[name].style; }
else if (document.layers) {
return document.layers[name]; }
}
všechno to funguje v opeře,IE,mozille ale né v google chrome nevíte proč ?
Chrome nemá konzolu, která vypisuje chyby?
Upřímně nevím něco takového slyším prvně.
Tak prý ji má.
http://www.google.com/chrome/intl/en/webmasters-fa q.html#jsexec
Tak koukam tu na to ale asi sem to správně nepochopil jak přesně to mam zkontrolovat.
Nic?
Ukazuje to.
Zkus místo
použít
Tak v tom případě to nejde vůbec.
Ej, chybička. Co tohle?
Pořád nic a ta konzole píše
Potrebuješ sa dostať k elementu name="zprava".
To spraviš buď tak, že tomu elementu nastavíš id="zprava" - potom sa k nemu dostaneš pomocou document.getElementById("zprava") a hodnotu mu nastavíš cez vlastnosť value:
Prípadne cez document.forms["formular"].elements["zprava"].valu e.
Ten zvyšok skriptu (var DHTML a function getObj) môžeš vymazať - ten kód vyzerá, ako keby vznikol v roku 1990 a ani ho tam nikde nepoužívaš.
Přidal sem tedy id="name" a script zkrátil až z něj zbylo jen
ale opět všude funkční krom chrome schválně sem kouknul na tu konzoly a ukázala:
"Uncaught TypeRrror: Cannot read property 'value' of null js.js:4".
Namiesto id="name" pridaj id="zprava".
Tá chyba znamená, že sa nenašiel prvok s id="zprava" (document.getElementById vrátilo null).
To byla moje chyba napsal sem sice id="name" ale použil sem id="zprava" a chrome pořád stávkuje.
Mhm, vyzerá to tak, že Chrome pri volaní odkazu s pseudoprotokolom javascript a targetom nastaveným na inú stránku vykonáva tú funkciu v kontexte zdrojovej stránky namiesto cieľovej.
Ty máš zrejme tú funkciu smajl definovanú na oboch stránkach, preto ti to namiesto Uncaught ReferenceError: smajl is not defined vypísalo Uncaught TypeError: Cannot read property 'value' of null.
Takže by malo stačiť zavolať tú funkciu priamo z cieľového okna napr. pomocou takéhoto odkazu v zdrojovom okne:
Jo tohle už je funkční a k tomu mam to v externím souboru ten script.