Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz PumpkinSeed #11923 üzenetére
A JSFiddle úgy működik, hogy egy iframe-be pakolja a kódodat, úgy, hogy ő az alapvető markupot legenerálja hozzá:
1. berakja a
<!DOCTYPE html><html><head>...</head><body>...</body></html>
keretet, úgy, hogy
2. a <head>-be beszúrja a karakterkódolást meghatározó <meta>-taget (<meta http-equiv="content-type" content="text/html; charset=UTF-8">),
3. a title-t (amit a bal oldali panelon határozhatsz meg, a Fiddle Options-nél),
4. egy normalize.css-t, amennyiben bepipáltad ezt a Fiddle Options részen,
5. egy dummy CSS-fájlt (ez legalábbis jelenleg üres)
6. az általad kiválasztott library-t valamely CDN-ről belinkelve, vagy épp egy dummy JS-fájlt "No-Library (pure JS)" esetén
7. a saját CSS-kódodat egy legenerált <style>-tagbe,
8. a beállítástól függően rakja be az általad írt JavaScript-kódot egy <script>-tagbe bepakolva (a 4. a kakukktojás, mert ott a kód nem a <head>-be kerül):
8.1. ha onLoad beállítást választottál bal oldalt, akkor a head-részben a script tagen belül window.onload=function(){...} keretet generál, aztán a ... rész helyére rakja a kódodat;
8.2. ha onDomReady beállítást választottál, akkor ilyen keretet generál le (a kommentált részhez kerül a kódod)
8.3. a "No wrap - in <head>" beállítás esetén értelemszerűen nem generál köré semmilyen keretet, a kódod a <head> tag végén, egy <script> tagen belülre kerül, úgy, ahogy van, változtatás nélkül
8.4. a "No wrap - in <body>" kiválasztásakor szintén nem generál köré semmilyen keretet, a kódod viszont a <body> (és nem a <head>) tag legvégén, a záró </body> elé kerül injektálásra, egy <script> tagen belülre, úgy, ahogy van, változtatás nélkül
9. A <body> tagen belülre megy a HTML-panelben megírt kód, változtatás nélkül.Tehát a lényeg, hogy ezt a keretet a jsFiddle biztosítja, neked nem kell megírnod. A <body> tag meglétét mondjuk "kezeli", az onload-attribútummal sincs problémája (nem lesz duplikált <body> tag, hanem értelemszerűen ilyenkor az általad megírt kerül a kódba), de szerintem szokj rá, hogy sosem raksz inline-attribútumokba semmilyen JavaScript-kódot. A JavaScript-kódot mindig gondosan különítsd el a HTML-től, ahogy minden egyéb kódtól is, lehetőleg minimális legyen a kutyulódás a különböző nyelvek között. (Nyilván vannak esetek, amikor nehezen vagy nem elkerülhető, de alapvetően a szeparált kód a cél.) A kódod így szebb, karbantarthatóbb lesz.
Ha valamit mégis a load-eseményre szeretnél kötni, akkor valahogy így használd a JavaScript-kódban:
function onInitialization(){
// ide mehet a kódod
}
window.addEventListener("load", onInitialization, false);(figyelem, az addEventListenerben az onInitialization csak egy mutató a függvényre, amit meg fog hívni a load esemény bekövetkezésekor, szándékosan nincs mögötte a zárójelpár!)
[ Szerkesztve ]
Sk8erPeter
Új hozzászólás Aktív témák
- Vezetékes FÜLhallgatók
- Elemlámpa, zseblámpa
- Skoda, VW, Audi, Seat topik
- Kerékpárosok, bringások ide!
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Autós topik
- Fejhallgató erősítő és DAC topik
- Apple iPhone 13 mini - miért nem veszik elegen?
- Motorola Moto G54 5G Power Edition - nem merül le
- Ukrajnai háború
- További aktív témák...
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen