…Bár a HTML szintaxisa viszonylag egyszerűen megtanulható, még mindig sok olyan elem, attribútum és… egyéb fogalom van, amelyeket meg kell tanulnia és nyomon kell követnie. hogy megismerje a HTML lényegét, ez… tényleg nem úgy van kialakítva, hogy megtanítsa az összes elérhető elemet és attribútumot.…Ezt szem előtt tartva szeretnék néhány online HTML-forrást átadni, amelyek valóban segíthetnek elkezdi tanulni a HTML-t, és…a későbbiekben értékes hivatkozásokként szolgálhat, amikor saját oldalait készíti.…Most kezdjük magával a specifikációkkal…

És ez valami, két dokumentum, amelyet mindenképpen meg kell jelölnie a könyvjelzővel.…Szóval, ez a HTML5 W3Cs verziója.…Láthatja, hogy a legújabb Publisher Verziójuk van. látni akarom, mi jön le a csövön.…És ez elég nagy.…Ha lefelé görgetek, tudsz nézd meg, hogy itt "csak a tartalomjegyzék"...És nem is fogom végiggörgetni az összeset...

Az átirat automatikus görgetésének folytatása

Frissítve
3/30/2017
Megjelent
3/16/2015

A HTML az a programozási nyelv, amely vezérli a webet. És mint minden nyelv, amint elsajátította, elkezdheti saját tartalom létrehozását, legyen szó egyszerű webhelyekről vagy összetett webalkalmazásokról. Ez a kurzus alapos áttekintést nyújt a lényegről: a HTML szintaxisáról és a bevált módszerekről A vezető munkatárs, James Williamson áttekinti egy tipikus HTML-dokumentum szerkezetét, és bemutatja, hogyan lehet oldalakat szekciózni és HTML.Plus-szal formázni a tartalmat, megtanulja, hogyan hozhat létre hivatkozásokat és listákat, és hogyan működik együtt a HTML a CSS-sel és a JavaScripttel a gazdag tartalom létrehozásához. , megnyerő felhasználói élmények.

A témák a következők:

  • Miért fontos a HTML?
  • HTML dokumentum felfedezése
  • Tartalom formázása
  • Képek megjelenítése
  • Nav, article és div elemek használata
  • Oldalakra és letölthető tartalmakra mutató hivatkozások
  • Listák készítése
  • A stílus szabályozása (betűtípusok, színek és egyebek)
  • Alapvető forgatókönyvek írása

: Ezt mindig is szerettem volna megérteni, de olyan kicsi volt a jelentősége, hogy mindig volt miért nem :)

És kíváncsi voltál: URL - mi az?

Mindig találkozom ezzel, de még mindig nem akartam megérteni, mi a különbség az URI, URL, URN kifejezések között, majd hirtelen egy poszt (sajnos már a feledés homályába merült), úgy döntöttem - elolvasom magamnak, és elmondom másoknak, bár, mint fentebb említettük, ettől nem fog változni semmi, de én néha szeretek betűzni, úgyhogy olvasd el az értelmes fordítót:

Figyelt már valaha a böngésző címsorára? Mi ez? URI, URL vagy URN? Sokan nem teszünk különbséget az URI, URL, URN között, és néhányan még csak nem is hallottunk az URI és URN kifejezésekről, mindenki csak az URL kifejezést használja. Próbáljuk meg ezt együtt kitalálni.

A rövidítések magyarázata

URI – Egységes erőforrás-azonosító (uniform azonosító forrás)
URL – Egységes erőforrás-kereső (egységes helykereső forrás)
URN – Egységes erőforrásnév (uniform Név forrás)

Figyelem, itt az igazság az apróságokban rejlik, de egyelőre semmi sem világos, valami rendetlenség. Menjünk tovább.

Meghatározás

URI: Egy erőforrás nevét és címét jelzi a weben. Általában URL-re és URN-re osztják, így az URL és az URN az URI részei.
URL: Valamelyik internetes erőforrás címe. Az URL határozza meg az erőforrás helyét és a hozzáférés módját.
URN: Valamelyik erőforrás neve a weben. Az URN lényege, hogy csak egy adott elem nevét határozza meg, amely több helyen is megtalálható.

Nincs is jobb egy konkrét példánál

URI = http://site/2009/09/uri-url-urn.html
URL = http://webhely
URL=/2009/09/uri-url-urn.html

Összegezve

Az URI az absztrakt azonosító fogalma, míg az URL és az URN a címek és nevek konkrét megvalósításai.
Remélem mindenkinek világos minden. Légy okos!

Mindannyiunk felfogása egyéni, ezért - vitatkozzon, és olvassa el a cikkhez fűzött megjegyzésekben a vitákat, sok érdekes dolog van.

Általános szabály, hogy sok webmester azonnal feltölti webhelyét a gazdagépre azok létrehozása után. Ugyanakkor leginkább a szövegtartalom jelentésének helyességére helyezik a hangsúlyt, nem pedig az oldalak belső kódjának helyességére.

Webhely érvényesítése

De vannak más tényezők is, amelyek befolyásolhatják és befolyásolják a webhely helyzetét. És többek között technikai tényezőket is tartalmaznak. Nos, az oldal érvényesítése is a technikaiakhoz tartozik. Szóval mi ez?

Ha egyszerű szavakkal, akkor a webhely érvényesítése a webhely kódjának ellenőrzése a műszaki megfelelőség és a hibák szempontjából. Nos, például elfelejtetted használni a záró címkét - /html. A legújabb HTML5-ben vizuálisan semmi sem fog változni. Ez azonban kódhiba.

Kódíráskor egyéb hibák is előfordulhatnak. És újra, modern nyelv A hiperjelölés sokat fog bírni. Például "elfelejti" a /head záró címkét. Ismét nem fogod látni a különbséget. De ő az))

Valójában egy weboldal írásakor elég sok hiba történhet. És ami még rosszabb, ezeknek a hibáknak egy része vizuálisan is megjelenhet. Nos, lehet, hogy a blokkok lebegnek, talán igazodás, vagy valami más. Lehetséges hibák, ezrek. És nem mindegyik feltűnő.

Mi a veszély?

Nos, úgy tűnik, mi a baj ezzel? Igen, azt kell mondani, hogy az ilyen hibák gyakran nem láthatók. Vagy inkább láthatatlan az emberek számára. De oldalunk oldalait nem csak emberek látogathatják, hanem az oldalt teljesen átvizsgáló keresőpókok is. És minden hibát, amit a webhelyen találnak, továbbítják a keresőmotorok, például a Yandex vagy a Google szervereihez.

A keresőmotorok pedig, látva, hogy az oldal sok kódhibát tartalmaz, arra a következtetésre juthatnak, hogy az oldal rossz. Ez pedig azt jelenti, hogy nem vetik fel a keresés során. Nos, ez már azt jelenti, hogy viszlát a látogatók a kereséstől.

Igen, el kell ismerni, hogy elég ritka az oldal bizonyos pesszimizálása az érvényesítési hibák miatt. De ez teljesen lehetséges, ami azt jelenti, hogy az érvényesítésen dolgozni kell. És mit kell ehhez tenni? Természetesen az első lépés a hibák feltárása.

De mivel manuálisan ez egy nagyon időigényes és megbízhatatlan üzlet, ezért a hibák kereséséhez a speciális szolgáltatások, az úgynevezett „Validátorok”.

Validator Markup Validation Service.

Ez a szolgáltatás szinte minden oldal létrehozásakor ellenőrzi a HTML és XHTML kódok helyességét, amelyek a legtöbb oldal alapját képezik, és meghatározza annak belső szerkezetét. Ez az érvényesítő szolgáltatás a http://validator.w3.org hivatkozás segítségével érhető el

De itt van egy előfeltétel, ami más érvényesítőkre is vonatkozik: az ellenőrzött oldalt vagy annak ellenőrzött oldalait fel kell tölteni a tárhelyre. Ellenkező esetben az érvényesítő nem "tudja" a webhely címét, és nem tud semmit ellenőrizni. Most már átgondolhatja, hogyan dolgozzon ezen a validátoron.

A szolgáltatás oldalára való belépés után a teljes funkcionális képe megjelenik. De az ábrázolt és leírtak nagy része nem vonatkozik a fő ellenőrzésre, és minden figyelmet csak az ellenőrzött oldal címének beviteli ablakára kell fordítani:

Pontosan itt kell kezdeni.

Valójában egy oldal érvényességének ellenőrzése rendkívül egyszerű, akárcsak az egész halandó világunk: a szolgáltatás címablakába be kell írni az oldal címét, pl. URL-címét, majd kattintson az „Ellenőrzés” gombra. Egy ilyen egyszerű művelet után a validátor néhány másodpercig „puffad”, és kiadja a következőket:

Ez azt jelenti, hogy nincs hiba az oldal kódjában, és teljesen nyugodt lehet.

De előfordulhat egy ilyen nemkívánatos lehetőség is:

Ez már rosszabb, és azt jelenti, hogy az ellenőrzött oldal belső kódjában vannak hibák. Ez azonban egyáltalán nem végzetes: csak görgetni kell az alábbi oldalt, és az ellenőrzési folyamat során talált hibákat ott részletesen leírjuk.

Ráadásul a validátor nem csak a talált hibákat listázza ki, hanem azt is pontosan megmutatja, hogy a belső kód melyik sorában találhatók ezek a hibák. Így nem kell sokáig keresgélned őket. Itt minden túlzás nélkül határozottan kijelenthetjük, hogy ez a validor tökéletesen működik.

De ez még nem minden: a validátor nemcsak az észlelt kódhiba helyét jelzi, hanem meglehetősen teljes körű ajánlásokat is ad ezeknek a hibáknak a kiküszöbölésére. Természetesen ehhez nem kell lustának lenni, és figyelmesen elolvasni mindent, ami írva van.

Rövid és általános következtetésként a következőket mondhatjuk:

  1. ez az érvényesítő szolgáltatás kiválóan működik, és nagyon gyorsan tudja ellenőrizni a webhelyet.
  2. Nos, egy kicsi, de nagyon szép kiegészítés: a webhely érvényesítése ingyenes.
  3. Most léphetünk a következő lépésre: ez a CSS-kód ellenőrzése.

CSS-érvényesítési szolgáltatás

Általánosságban elmondható, hogy ez a fenti szolgáltatás második funkciója, de nem a HTML és XHTML kód ellenőrzésére van „kihegyezve”, hanem kifejezetten a kód helyességének ellenőrzésére css stílusban a külső asztalon található. A szolgáltatási oldal eléréséhez pedig követnie kell a http://jigsaw.w3.org/css-validator hivatkozást.

Mellesleg itt érdemes megjegyezni valami kellemeset: ennek a szolgáltatásnak az ellenőrzése teljesen ingyenes. Tehát ne húzzon ki pénzt a pénztárcájából - hagyja, hogy a megfelelő pillanatig feküdjön. Térjünk azonban át a második szolgáltatáson végzett munka módszertanára.

Általánosságban elmondható, hogy a CSS-ellenőrzőn végzett minden munka teljesen megegyezik a kód tisztaságának ellenőrzésével. Ezért nem szükséges külön képet megadni az érvényesítő címsoráról. Csak egy kicsit lejjebb röviden átgondoljuk magának az ellenőrzésnek a sorrendjét, és ennyi.

Ehhez kell címsorírj URL-t CSS táblázatok, például "http://my site/style.css", majd nyomja meg az orosz "Check" feliratú gombot. Ennek megfelelően ez a validátor is „puffad” néhány másodpercig, és a kívánt eredményt adja:

Ez azt jelenti, hogy a CSS tábla helyesen van megírva, és nem található benne hiba.

És itt van egy kellemes meglepetés is: ha kicsit lejjebb görgeted az oldalt, akkor oda lesz írva a CSS-tábládhoz optimalizált kód, amelyről minden felesleges felirat eltűnik, és minden kódcímke sorrendbe kerül. amely mindenki számára megfelel az optimális munkakövetelményeknek kereső motorok. Nincs más hátra, mint kimásolni ezt a tökéletes kódmintát, és beilleszteni a CSS-táblába.

Nagyon valószínű, hogy valami ilyesmi történhet:

Ez azt jelenti, hogy néhány hibát találtak a CSS-kódban, de ettől egyáltalán nem kell félni. Közvetlenül a piros vonal alatt az érvényesítő pontosan megmondja, melyik címke van elgépelve. Már csak meg kell találni ezeket a címkéket a stíluslapon, és elvégezni a szükséges javításokat.

És persze ezek után töltsd fel a javított stíluslapot a gazdagépre, és ha van zöld vonal, akkor boldogan másolhatod az optimalizált CSS-tábla stíluskódját. Teljesen egyértelmű, hogy akkor a legjobb változtatni régi kód egy új és optimalizált.

Rövid összefoglaló.

A két legalapvetőbb és legkötelezőbb webhelyérvényesítési ellenőrzést fentebb tárgyaltuk. Ezen ellenőrzések nélkül ne is nyissa meg az indexelést a keresőmotorok számára a robots.txt fájlban. Ellenkező esetben előfordulhat, hogy a webhely figyelmen kívül hagyja az indexelést. kereső motorokés megfelelő szankciókkal hibásnak minősül.

Ennek elkerülése érdekében csak néhány percet kell töltenie, hogy teljesen nyugodt legyen, és teljesen magabiztos legyen webhelye és minden oldala műszaki állapotában. Természetesen szükség van a linkek és horgonyok további ellenőrzésére, az oldal láthatóságára is mobil eszközökés más kódok paraméterei. Csak ezután tekinthető az oldal késznek a teljes körű működésre és a sikeres és gyors promóció a TOP-ban.

Előre szeretném elmondani, hogy az összes többi ellenőrzés ugyanolyan gyors és egyszerű, mint a fentebb tárgyaltak - csak figyelmesen el kell olvasnia az érvényesítővel való munkafolyamatot.

Hozzáadva: 2018.04.19

Gyakori érvényességi hibák a HTML-kód érvényesítésekor

Úgy döntött, frissíti a cikket. HTML hibák kódok, amelyek gyakran megtalálhatók a webhelyeken. Mindenesetre sok volt belőlük)). Az érvényesítő sárgával kiemeli a hibákat.

1) Hiba: A karakterhivatkozást nem pontosvessző fejezte be.


Hiba: a karaktert nem szakította meg pontosvessző – ennek megfelelően hozzá kell adni.

2) Figyelmeztetés: A szakaszban nincs címsor. Fontolja meg a h2-h6 elemek használatát az összes szakaszhoz azonosító címsorok hozzáadásához.


Figyelmeztetés: Ennek a szakasznak nincs címe. Fontolja meg a h2-h6 elemek használatát az összes szakaszhoz azonosító címsorok hozzáadásához. Itt minden világos, hozzá kell adni legalább egy feliratot. Ez nem is hiba, hanem ajánlás.

3) Hiba: A noindex elem ebben az összefüggésben nem engedélyezett a p elem gyermekeként.


Hiba: a noindex elem nem engedélyezett mint gyermek elem p elem ebben az összefüggésben. (A további hibák letiltása erről a részfáról.)
A megoldás egyszerű, megjegyzésbe kell írnia a noindex címkét, a nézet így fog kinézni:

4) Hiba: A középső elem elavult.

Hiba: a "center" címke elavult - le kell cserélni, ha img-ről beszélünk, akkor használhatja az align attribútumot. Ha valami más van középen, akkor cserélje ki div-re.

5) Az img elemnek alt attribútumot kell tartalmaznia, kivéve bizonyos alatt


Hiba: Az img elemnek alt attribútumnak kell lennie - itt minden világos, hozzá kell adni egy alt attribútumot, még ha üres is, a hiba eltűnik.

6) A td elem szélesség attribútuma elavult. Használjon helyette CSS-t.

Hiba: A „td” elem „width” attribútuma elavult

7) A type attribútum nem szükséges a JavaScript erőforrásokhoz


Hiba: A type attribútum nem szükséges a JavaScript erőforrásokhoz. A megoldás egyszerűen az, hogy eltávolítunk mindent, ami felesleges, és csak a „script” címkét hagyjuk meg.

8) Az img elem align attribútuma elavult.


Hiba: Az img elem align attribútuma elavult. Készítsen képigazítási diveket.

A ResourceBundle.Control osztály külső metódusokkal rendelkezik, amelyeket a ResourceBundle.getBundle() metódus hív meg a kötegek keresésekor és betöltésekor. Miután létrehozta a Control osztályt, módosíthatja az alapértelmezett betöltési és gyorsítótárazási viselkedést.

Ebben az esetben létre kell hoznia a Control osztály két metódusának megvalósítását: getFormats() és newBundle() . A getFormats() metódus felelős a karbantartásért XML formátum, és a newBundle() erőforrásköteggel működik. Az alap Control osztály segédmetódusokkal rendelkezik az alapkészletnevek tényleges erőforrásnevekké való konvertálására.

A ResourceBundle.Control osztály ezen megvalósítása az XMLResourceBundle alosztályát tartalmazza. Ez az alosztály az adatok betöltésére szolgál XML fájlés használja őket a ResourceBundle metódusban.

Az alábbiakban a Control osztály leírása és a ResourceBundle metódus megvalósítása olvasható:

import java.io.*;
import java.net.*;
import java.util.*;

Az XMLResourceBundleControl nyilvános osztály kiterjeszti a ResourceBundle.Control(
private static String XML = "xml" ;

Nyilvános lista getFormats(String baseName ) (
return Collections.singletonList(XML) ;
}

Public ResourceBundle newBundle( String baseName, Locale locale,
Karakterlánc formátum, ClassLoader betöltő,
logikai újratöltés)
dobások IllegalAccessException, InstantiationException, IOException{
if ((alapnév == null ) || (helyszín == null ) || (formátum == null )
|| (betöltő == null )) (
dob új NullPointerException();
}
ResourceBundle köteg = null ;
if (format.equals(XML))(
String bundleName = toBundleName(alapnév, területi beállítás) ;
String erőforrásnév = erőforrásnév
(bundleName, formátum ) ;
url= loader.getResource
(erőforrásNév) ;
if (url != null ) (
URLConnection kapcsolat = url.openConnection() ;
if (kapcsolat != null ) (
ha (újratöltés) (
connection.setUseCaches(false) ;
}
InputStream stream = connection.getInputStream() ;
if (folyam != null ) (
BufferedInputStream bis = új BufferedInputStream (
folyam);
bundle = new XMLResourceBundle(bis) ;
bis.close();
}
}
}
}
visszatérő köteg;
}

Az XMLResourceBundle privát statikus osztály kiterjeszti a ResourceBundle(
Private Properties kellékek;

Az XMLResourceBundle(InputStream folyam) IOException(
props = new Properties();
props.loadFromXML(stream) ;
}

Protected Object handleGetObject (karakterlánc kulcs) (
return props.getProperty(key) ;
}

Nyilvános felsorolás getKeys()(
A handleKeys = props.stringPropertyNames beállítása() ;
vissza Gyűjtemények felsorolása (handleKeys );
}
}

Nyilvános statikus void main(String args ) (
("Test2" ,
új XMLResourceBundleControl()) ;
húr= bundle.getString
("HelpKey" ) ;
System.out.println ("HelpKey: " + string ) ;
}
}

Ez a megvalósítás egy háromsoros tesztprogramot tartalmaz:

ResourceBundle bundle = ResourceBundle.getBundle("Test2", új XMLResourceBundleControl()) ;
String string = bundle.getString
("HelpKey" ) ;
System.out.println ("HelpKey: " + string ) ;

A legérdekesebb itt az első sor. A vezérlést át kell adnia a getBundle() metódusnak. Ezt követően a készletet ugyanúgy használhatja, mint bármely más esetben.

A következő egy példa a Test2.xml XML-fájlra:

http://java.sun.com/dtd/properties.dtd" > rendben Megszünteti Segítség Igen nem

Az XMLResourceBundleControl program végrehajtásának eredménye a következő lesz:

> java XMLResourceBundleControl HelpKey: Súgó

A fenti megvalósítás nem használja a getTimeToLive() és a needsReload() metódusokat:

nyilvános long getTimeToLive( String baseName, Locale locale)

public logikai needsReload( String baseName,
locale,
karakterlánc formátum,
osztályú rakodógép,
erőforrás csomag,
hosszú betöltési idő)

A getTimeToLive() metódus visszaadja a ResourceBundle.Control segítségével létrehozott erőforráscsomagok élettartamát. Az erőforráskészletek gyorsítótárban vannak az újratöltési folyamat felgyorsítása érdekében. Így egy készlet újratöltésekor az a gyorsítótárban lesz. A pozitív élettartam érték ezredmásodpercben megadja, hogy a készlet mennyi ideig maradjon a gyorsítótárban újraellenőrzés nélkül. A getTimeToLive() metódus által visszaadott alapértelmezett érték a TTL_NO_EXPIRATION_CONTROL , amely letiltja a gyorsítótár lejáratának ellenőrzését. Ha nem szeretné gyorsítótárba helyezni a készletet, adja vissza a TTL_DONT_CACHE értéket. Ha a visszatérési érték 0, akkor a köteg gyorsítótárban van, de minden alkalommal ellenőrzi a getBundle() metódus meghívásakor. A gyorsítótár törléséhez hívja meg a ResourceBundle osztály statikus clearCache() metódusát. Van egy opcionális ClassLoader argumentuma, amely lehetővé teszi egy adott betöltő által létrehozott gyorsítótárak törlését.

A needsReload() metódus határozza meg, hogy a gyorsítótárazott készletet újra kell-e tölteni. Az igaz érték azt jelenti, hogy a halmazt újra kell tölteni, a hamis pedig azt, hogy nem kell újratölteni. A needsReload() metódus túlterhelésével szabályozhatja, hogy egy erőforráskészletet újra kell-e tölteni. Ha például azt szeretné, hogy az erőforráskészlet mindig újratöltődjön, a needsReload() metódusnak mindig true értéket kell visszaadnia. Ebben az esetben a getTimeToLive() metódusnak mindig 0 értéket kell visszaadnia. Ellenkező esetben a halmaz a vártnál tovább fog fennmaradni.

Megszerzéséért további információ A Mustang nemzetközivé válási folyamataival kapcsolatos fejlesztésekkel kapcsolatos információkért tekintse meg John Okoner, a Sun Software Developer blogját a következő címen: