Diskuze: Je vhodne pro HTML?
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 32 zpráv z 32.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Nevím jestli chápu dobře. Ale HTML samo o sobě nic neumí počítat. To
by si musel použít např. JavaScript
HTML+CSS+JS je určitě dobrá volba, je v tom napsané např. VS code.
Jj to jsem si myslel, teď otázka co je lepší jestli JAVA (JSE nebo JEE) , nebo javascript?
Java nebo javascript su dve rozdielne veci. Javascript ti na toto postavuje a budes to spustat v prehliadaci, kdezto java je mocny a zbytocne velky nasteoj, ktory potrebuje kompilator a zbytocne sa ti to cele skomplikuje
Samozřejmně rozdíly mezi Javou a JS znám, ale v Javě už jsem něco dělal, v JS zatím ne , ale utvrdil jsem se v tom , že JS rozhodně jednoduší a plně dostačující pro mou věc.
Díky
A ještě jedna skvělá vlastnost: zatímco JS stačí obalit
prohlížečem, na spuštění Javy potřebuješ nainstalovanou Javu .
Pravda , to mi ani nedošlo, už studuju JS , ale už teď vím , že to určitě bez pomoci nedám
přesně tak , naštěstí
mně netíží čas , takže si tak měsíc budu hrát s tutorialama a
nesmyslama , abych si to trochu ošahal a pak se do toho pomalu pustím
Každopádně zatím všem moc děkuji
Je lepsi si hrat s priklady. Treba si najit jednoduchou hru a zkusit v ni neco upravit. Treba piskvorky nebo neco, co ma malo kodu.
V JS se da udelat mnoho, ale jestli tam chces resit neco jako databazi nebo ukladani, mozna bys to mel spis zkombinovat s php a mysql. Ikdyz, to se da take resit castecne pres js...
Mozna ti ulehci praci s elementy pouzivaji jquery (pro vykreslovani na
stranku).
Ale da se to resit i bez toho. Staci funkce treba
<script>
function $(id) {return document.getElementById(id);}
alert( $('xyz').value ); // precte input
$('xyz').value = 123; // ulozi do inputu
$('xyz').innerHTML = 123 // ulozi do divu
alert($('xyz').innerHTML) // precte div
// ruzne zapisy pole
x = [
1, 2, 3
];
x = [
[1, 2, 3],
[1, 2, 3],
];
alert(x[0][2])
for (i=0;i<x.length; i++) alert(y[i][2]) // prochazeni ciselneho pole
y = { // bacha slozene zavorky
abc: [1, 2, 3],
def: [1, 2, 3],
};
alert(y['def'][2])
alert(y.def[2])
for (i in y) alert(y[i][2]) // prochazeni pole s textovymi indexy // pozor y.length nefunguje
x = "1,2,3".split(",") // string na pole
x = [1,2,3].join(",") // pole na string
function zzz(a) {...} // zzz(123);
zzz = function(a) {...} // zzz(123);
y = {};
y.zzz = function(a) {...} // y.zzz(123); // takhle se daji delat jednoduse objekty, namespace
</script>
Nevim, co by se ti jeste mohlo tak hodit. Se zeptej.
Jo, obcas je dobre pouzivat definovani promennych pres var. Kdyz to nepouzijes,
snazi se najit promennou v globalnich. Coz muze zpusobit obcas nechtene
prepisovani.
Jo, element je treba
<input type=name value=123 id=aaa>
Kdyz ziskas id, tak s nim pracujes jako
elem = document.getElementById('aaa')
elem.value = 123
elem.type = 123
<input type=button value=123 id=aaa onclick="spustFunkci(this,123);" class="123"> // this je odkaz na element, pokud potrebujes z neho data
elem.className = 456 // pro zmenu class, takova zaludnost
Ahoj,
já osobně bych ti doporučil HTML + CSS + PHP + Jquery (JS knihovna) + AJAX
(umožňuje "vytáhnout" data z databáze a vložit je do JS
Prosim, neuc novacky psat JS rovnou do HTML, je to prasarna, hrozny na debug a neni to skalovatelny, neni dobry je ucit spatnym navykum.
Nevim, o cem je rec. Jestli jde o ten onclick, tak to naopak povazuji za dobre. Input type button bez onclick nema zadny vyznam (nefunguje) a skryt to do js mi prijde jako spatny zlozvyk pres attachEvent a pod. Takhle primo z html zjistis, co to tlacitko dela.
Ne, to neni dobre, je proste dobry oddelovat HTML a JS, zvlast chci videt, jak pak budes delat debug u vetsich projektu. Neni problem proste udelat eventListener a dat to do nej, kdyz se naskytne chyba, ci budes chtit neco zmenit v tom skriptu, udelas to mnohem rychleji, nez abys to hledal v kazdym HTML, kde si co dal za funkci.
Mi přijde, že když bys psal JS do atributů jako onclick
při
normální web aplikaci, tak to je děsně nepřehledné. Neřekl bych, když
bys měl nějaký workflow s web komponentami, které bys rozděloval a tedy by
byly oddělené a lehce čitelné, ale při obyčejných statických, nebo i
generovaných, webovkách mi to přijde opravdu nečitelné a je lepší to
rozdělovat do JS souborů.
Myslim, ze je to vsude necitelny, neprakticky a celkove nepouzitelny, stejne jako vsechny eventy psany k elementum primo do html.
Tak, zhlediska jakesi prehlednosti, cokoliv, co nema moznost fungovat bez js,
tak bys v kodu vubec nemel mit a generovat to pomoci js A kdyz uz to generuji, tak tam
davam kod html tagu a do nej dam onclick. A nebo volim kompromis. Neco jako html
template s onclicky a k nemu pribalim js do ext. souboru.
Jako, nemam na to zatim jednotny nazor, proto jsem se zeptal.
Ale fuj, template s onclicky, to je snad vtip, ne? Co kdyz tech templatu budes mit vic, co kdyz budes mit jedno JS pouzity ve vice templatech a budes chtit neco zmenit? Rikam, tohle neni absolutne skalovatelny, proto se to taky v praxi nedela. Proto vzdy proste chces mit oddeleny ciste HTML a JS.
Radia ti dobre. Inline JS nemá v moderných stránkach miesto. HTML / CSS / JS prísne oddelené, v samostatných súboroch, ak už nepoužívaš žiadny frontend framework. Ty si bohužiaľ zaseknutý v štýle, a všimol som si, že aj v syntaxe, spred desiatich rokov. To nie je výčitka, to je len upozornenie, že odvtedy sa všeličo zmenilo, a to napríklad zrovna toto. Že prax ukázala, že je chyba používať online JS, v atribútoch.
Ok. Zatim o tom budu uvazovat. Starou syntax pouzivam, protoze funguje stejne 30 let bez problemu. Nic novejsi jsem nestudoval.
https://mlich.zam.slu.cz/…tor/edit.htm
https://mlich.zam.slu.cz/…edit-fun.htm
Ted treba hledam chybku v tomto. Druha verze funguje, bold bolduje. Prvni verze
nee. Nekde pri prepisovani jsem spachal chybu
... Asi tam pise chybny certifikat, tak, az to kolega opravi (2 dny)
No, ale jde mi o to, ze tam mam treba
code_button:"\n"+'<p><input type="button" value="Update html"onclick="SlimWhizzy.func.codeEditClose();"></p>',
Ktere potom pomoci innerHTML vlozim do divu. A je hotovo. Ktdezto v jine casti mam kod puvodniho programu, tam by se muselo navic pridat XX radku ve stylu
vars.butt.forEach(function (item)
{
item.addEventListener('click', function ()
{
SlimWhizzy.func.processCommand(this);
});
});
To mi prijde jako hrube neefektivni. Musi z kodu vycucat linky na elementy a pak k nim teprve prida funkci.
Nebo v jinych kodech generuji primo tag + parametry do stringu, ktery opet pres innerHTML nekam vlozim podle pole. Napr.
pole = {onclick:'SlimWhizzy.func.processCommand(this);'}
. Opet mi to prijde efektivnejsi, nez nasledne pridavat eventy.
Po a) nevidím na tých dvoch linkoch nič boldom, obe stránky vyzerajú rovnako. A po b) preto sa to dnes tak už nerobí, že ručne manipuluješ s DOM modelom. Ale cez nejaký JS Framework, ktorý ťa odtieni od potreby upravovať DOM ručne.
Jinak btw vsiml jsem si, ze nepouzivas na zapis funkci arrow function, vyhodou je, ze je to kratsi, ale je to jen drobnost.
vars.butt.forEach((item) => {
item.addEventListener('click', () => {
SlimWhizzy.func.processCommand(this);
});
});
Vladislav Ladicky - To je editor. Napises text, oznacis, kliknes na bold a
udela se bold. Problem je, ze jeden kod funguje, druhy ne, prikaz
document.execute. A zatim jeste nevim proc
Šimon Raichl - To treba vidim prvne a nejspis dam prednost starsimu zapisu,
ktery je jasnejsi. ta cast je zrovna copy-paste z ciziho kodu. Foreach take
neznam. Teda, nejspis jsem to uz v novejsim kodu videl. To ale neznamena, ze
nemam predstavu, co to dela
Je to jednoduchy, foreach funguje jako v normalnich jazycich proiteruje pole a clovek pak muze neco udelat s kazdym prvkem.
let objs = [this.content, this.buttons, this.props];
objs.forEach((obj) => {
if (obj !== void 0){
Object.keys(obj).forEach((key) => {
if (typeof obj[key] === "string"){
obj[key] = escape(obj[key]);
}
else{
Object.keys(obj[key]).forEach((subkey) => {
obj[key][subkey] = escape(obj[key][subkey]);
});
}
});
}
});
Jak rikam, je to jenom drobnost, ale precijen pro me je jasnejsi zapisovani funkci pres arrow function.
Jo, dik za pomoc s tim js-editorem. Prave jsem to vyresil. Ja pouzivam na
tlacitka SPAN. Funguje to jen, kdyz je to odkaz A. Kod je uplne stejny, prikaz
document.execCommand. Ale, kdyz se ta funkce nezavola z odkazu, tak to
nefunguje
Nebudu uz off-topicovat.
Knihovny pouzivam dost nerad, protoze se neda spolehnout, ze vam do
minifikovaneho nebo i normal kodu nekdo neco nepodstrci. A kdo z vas si ten kod
realne prochazi pri kazdem updatu?
Tak po dvou měsících se vracím s další žádosti o radu, udělal jsem
celou aplikaci v HTML+JS s tím že každý ovládací element má samostatný
script a data jsem ukládal do. Csv, problém je že jsem do aplikace přidal
několik dalších věcí jako zápis z jednání kontaktní informace, stav
celého výběrového řízení o zakázce atd, tím se samozřejmě zvětšuje
velikost databáze a hlavně problémové výpisy ze souboru. Csv. Momentálně
mám přes 4000 záznamu a ovládání je hrozně pomalé. Možná změna je
samozřejmě SQL(MySQL), bohužel toto je pro z několika důvodů
nepřijatelné, a potřebuji to mít v prenositelnem souboru. Tím se dostávám
k jádru, myslíte, že je dobré využít SQLite? Nebo JINÉ řešení.
Data které ukladam: Texty, články, čísla, sumy a přílohy Excel a pdf
A ještě jedna skvělá vlastnost: zatímco JS stačí obalit prohlížečem, na spuštění Javy potřebuješ nainstalovanou Javu
.
To je opravdu strašný popis.
Jo, SQLite je si myslím v pohodě. Tolik záznamů, abys to musel řešit mít stejně nebudeš. Hmm, nejsem si jist, jak je v dnešní době z HTML+JS only možné se připojovat k DB, ale určitě to nějak půjde. Co se týká dat, které chceš ukládat, tak většinou se soubory (např. to PDF) ukládají mimo a do DB si ukládáš jen cestu k souboru a další raw data (čísla, stringy atp.)
V tom případě mě prosím pouč. Rád se dozvím, jak to popsat co nejlíp.
Na spuštění JS potřebuješ interpeter (VM) daného zdrojového kódu, který prohlížeč (v tom smyslu, jak toto slovo známe) obsahuje. Na spuštění Java programu potřebuješ kompilátor, který ti zkompiluje zdrojový kód do bytecode, který je následně interpretován.
JS:
1. napsat zdrojový kód
2-pre. stáhnout prohlížeč
2. interpretovat v prohlížeči
Java:
1. napsat zdrojový kód
2-pre. stáhnout Javu
3. kompilovat Javu
4. interpetovat v VM
Pokud se tedy bavíme o lokálním programu, je jedno, jestli si stáhneš prohlížeč, nebo jestli si stáhneš javu. Jediný rozdíl v používání je ta kompilace do bytecode, což ale u JS mnohdy nahradí kompilace z nějakého frameworku, takže tahle "skvělá vlastnost" je vlastně úplně k ničemu, protože to vyjde na stejno...
JS (jak to vlastně dopadne):
1. napsat zdrojový kód
2-pre. stáhnout prohlížeč
3. zkompilovat do finálního JS
3. interpretovat v prohlížeči
Jen doplním, že teď neposuzuji, co je dostupnější na naučení, vývoj
atp., jen popisuji tu tvou "svělou vlastnost", a tedy to, že vlastně na
žádné straně v tomto není výhoda. Btw. fun fact: nastavit webpack či
další nástroje je občas o dost náročnější než kompilovat javu.
Zobrazeno 32 zpráv z 32.