Diskuze: nastavení jazykové mutace a promítnutí do javascriptu
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Vytvor jednoduchou stranku a dej link nebo poskytni kod vseho, co je k tomu
nutne, aby si to clovek mohl rozchodit na svem pc.
Takhle jenom muzu rici: Eeee? Co ze to chce?
Muzu ti vyjmenovat asi 100 pricin, co je mozna spatne. A stejne muze bych cyba v dalsich 10.000 jinych moznosti.
Mozna by ti stacilo veskery js presunout pred /body. A nedavat to do head. To
zpusobuje celou radu problemu, novackum.
Kdyz element neexistuje, tak js v head spusteny pred vygenerovanim elementu
nejede, logicky. Proto se pouziva window.onload=mojefunkce; nebo body
onload="mojefunkce()".
<?php ...php kod... ?>
<head>...</head>
<body>
... html kod ...
<script src=...></script>
<script>alert(123)</script>
</body>
A nepotrebujes tam ani body onload, ani window.onload, ani jquery
document.ready.
A u php zase naopak, vyresit pred zobrazenim stranky
Ahoj,
jestli by ti to nevadilo, vystavil jsem to venku na db.blueto.cz/evy, Martin/qwe. Problém je setting.php, tedy po kliku na ozubené kolečko.
Moc díky
David
Nejaky pip ti zakazal prave tlacitko, takze se dost obtizne dostava ke zdrojovemu kodu.
Html kod nemas validni. Coz muze v pripade js zpusobovat celou radu
problemu
Napr tam mas 2x body, coz by nevadilo, kdyby jsi to chtel zamerne a vyuzival.
Ale nejspis je to chyba.
Nebo se ti tam krizi tagy.
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script src="./js/jquery.min.js"></script> take dost divne, ze?
3. js konzola mi hlasi chybu pri kliknuti na setting (FF - nastroje - nastroje pro vyvojare - konzola) a samozrejme, jak pises, 'jaz' nic nezobrazuje do konzoly.
4.
<input type="hidden" name="lang" value="' + temp + '"> </input>
Takhle se preci input nezapisuje, ne? Input je single tag. Na jpw oznacovany jako neparovy https://www.jakpsatweb.cz/…rmulare.html#…
Podle mne mas spatne celou tu ajax funkci... Provedeme jednoduchy test... (To jsem po tobe chtel)
--- http://localhost/x/eve/js-eve.htm ---
<div id="menu_top"></div>
<script src="http://db.blueto.cz/evy/js/jquery.min.js"></script>
<script>
//url = 'http://db.blueto.cz/evy/json/settings.json';
url = 'js-eve-json.txt'; // http://localhost/x/eve/js-eve-json.txt
$.getJSON(url, function(data, value)
{
//alert(data.toSource()); // vypise ({auth:"yes", Depth:"ft", Speed:"kn", Distance:"nm", Language:"Cze"})
//alert(data['Language']); // vypise Cze
var temp, jaz;
temp = data['Language'];
$('#menu_top').append('<input type="hidden" name="lang" value="' + temp + '"> </input>');
jaz = $('input[name=lang]').val();
alert('jaz=' + jaz); // vypise jaz=Cze
});
</script>
A ted si najdi 7 rozdilu, proc tobe to nejde a mne ano A funguje mi to, ikdyz pridat
'</div>' na konec
Ale nez zacnes hledat rozdily, tak si sprav validitu kodu. Ta by mohla byt
pricinou.
Resp. testni si ten muj kod, jestli ti to jede nebo ne. Takze asi ten tvuj kod
neni tak uplne spatne, jak se mi prvne zdalo.
Díky moc, body jsem opravil, ale nakonec jsem to udělal tak, že jsem si to napsal v php, do header.php jsem napsal funkci, která mi natáhne přes <script src="./js/NEJAKY_JAZYK.js"></script> json, který je ale napsán jako proměnná, tj. lang = { ..... } a pak už s tím v javascriptu pracuji jako s objekty.
Jinak jsem zkoušel i co jsi mi napsal, nerozchodil jsem to, ale je fakt, že jsem více kámoš s PHP než s javascriptem, ale hlavně že to už chodí.
To je divne, zes to nerozchodil. A ja ti tam uvedl i adresare, kde ty soubory mam ulozene. Vse v jedne slozce. Mozna, ze jsi mel jinak adresare. V jsonu jsem to mel z tve stranky.
--- settings.json ---
{"auth":"yes","Depth":"ft","Speed":"kn","Distance":"nm","Language":"Cze"}
Ona je asi chyba v tom, že jsem natahoval např. Eng.js, kde je lang = { .... } a pak jsem chtěl dále pracovat s lang jako s objektem. Podle mne se to natažení nějak neprojevilo, to je tahle část :
....
var imported = document.createElement('script');
imported.src = './json/' + jaz + '.js';
document.head.appendChild(imported);
...
Zobrazeno 9 zpráv z 9.