HTML
For alternative betydninger, se HTML (flertydig). (Se også artikler, som begynder med HTML)
| HTML (HyperText Markup Language) | |
| Filendelse: | .html, .htm, .shtml, .shtm |
|---|---|
| MIME-type: | text/html |
| Udviklet af: | World Wide Web Consortium |
| Formattype: | Opmærkningssprog |
| Udvidet fra: | SGML |
| Udvidet til: | XHTML |
| Standard(er): | ISO/IEC 15445 W3C HTML 5.1 |
HyperText Markup Language (HTML) er et opmærkningssprog, der primært har til formål at få tekst og billeder på en hjemmeside til at virke som links til andre HTML-sider. Markup betyder at opmærke, og HTML bruges til at strukturere hjemmesider og bestemme det indhold der vises. HTML bliver ofte brugt sammen med CSS og Scriptsprog såsom JavaScript der udvider muligheden for at bestemme design og specielt bruger-input på hjemmesider.
HTML kan eksempelvis bruges til at markere en tekst som overskrift eller brødtekst, arrangere i punktopstillinger eller tabeller, og hyperlink kan indsættes som klikbar tekst. Dermed kan webbrowsere skelne teksttyper og vise indholdet formateret efter den type, det er markeret som. Overskrifter vises med forstørret, fed skrift og hyperlink med blå skrift. HTML giver også mulighed for indlejring af billeder. HTML-filer bruges på internettet, især på World Wide Web.
HTML-side
[redigér | rediger kildetekst]Hver HTML-side kan være en hjemmeside, men oftest vil det være flere html-sider, der ligger under ét domæne, der kaldes en hjemmeside. Et bedre navn er derfor websted, website eller site.
Historie
[redigér | rediger kildetekst]HTML-sproget blev opfundet af fysikeren Tim Berners-Lee i 1990, under sit arbejde på CERN-atomforskningsinstituttet i Geneve i Schweiz. Formålet var at give forskerne på instituttet et simpelt markup-sprog (opmærkningskode) til at dele deres forskningsresultaters med hinanden på CERNs intranet.
HTML er baseret på SGML, Standard Generalized Markup Language, en international standard til opmærkning af tekster, så de kan præsenteres på fysiske enheder.
SGML opmærker en tekst: overskrift, brødtekst, lister og lignende, men fortæller ikke hvordan overskriften skal se ud. Udseendet bestemmes af den enhed teksten vises på. Samme tekst vil se meget forskellig ud fra enhed til enhed. Idéen med HTML var at det skulle være effektivt og enkelt, der var derfor ikke tænkt meget på at gøre teksten præsentabel og flot på tværs af platforme.
HTML gennemgik en række ændringer fra 1991-1993, i juli 1994 udløb det seneste RFC udkast, senere samme år blev udkastet til HTML 2.0 færdiggjort og november 24, 1995 blev der formelt udgivet en version som efterfølgende udvidelser af HTML skulle baseres på. Udgivelsen af HTML 2.0 fik navnet RFC1866.
HTML udkast før 1995
[redigér | rediger kildetekst]HTML 1.0
[redigér | rediger kildetekst]Denne udgave af HTML blev skabt før World Wide Web Consortium, for alvor var etableret. HTML 1.0 blev derfor ikke formelt specificeret. HTML 1.0 indeholdt få formateringskoder, man kunne hverken vælge baggrundsfarve eller baggrundsbillede. Man havde heller ingen indflydelse på, hvilken skrifttype teksten var skrevet med, så alle hjemmesider lignede hinanden med samme grå baggrund, blå tekst-links og Times New Roman som skrifttype.
Billeder skulle være i GIF-formatet. De fleste hjemmesider på den tid indeholdt ingen billeder. HTML 1.0 blev kun brugt i browserne Mosaic og Lynx (Lynx var kun tekstbaseret og virkede under UNIX).
HTML 1.1
[redigér | rediger kildetekst]Den nye version blev skabt af holdet bag browseren Netscape, for at understøtte Netscapes funktioner. Der var på dette tidspunkt et stærkt begrænset antal browsere til rådighed, og det var almindeligt at tilføje dén kode, der passede til den specifikke browser man arbejdede med.
HTML versioner
[redigér | rediger kildetekst]HTML 2.0
[redigér | rediger kildetekst]Den første udgave af HTML blev offentliggjort i 1995 som en internet standard. Med denne version af HTML kom flere formateringskoder til, såsom valg af baggrundsfarve. Det blev muligt at lave formularer i begrænset omfang, så brugeren kunne indtaste data, som administratoren af hjemmesiden så kunne gøre brug af. Tabeller (CSV) blev også en del af HTML 2.0.
The World Wide Web Consortium blev dannet mellem version 1 og 2 med Tim Berners-Lee som leder og HTML 2.0 blev formelt specificeret. Det forhindrede dog ikke udviklerne af browserne i at tilføje deres egne koder, hvilket gjorde det vanskeligt for web designeren med sit editor-program at forudsige præsentationen hos slutbrugeren, afhængig af browser.
HTML 3.2
[redigér | rediger kildetekst]I version 3.2 blev der tilføjet flere formateringskoder, som kunne bruges til at styre indholdet på hjemmesiden. 3.2 indeholdt også understøttelse af CSS 1 (Cascading Style Sheet level 1). Idéen var at CSS skulle indeholde formateringskoden og strukturen skulle skrives i HTML, på den måde blev struktur og udseende adskilt og fastlagt med hver deres kode. Da browserne ikke understøttede alle funktioner af CSS endnu, var CSS imidlertid ikke så anvendeligt. Det var derfor stadig formateringskoderne i HTML, der skulle bruges til at bestemme sidens udseende.
HTML 4.0
[redigér | rediger kildetekst]Hidtil havde udviklingen af HTML givet flere og flere formateringskoder og fjernet HTML fra den oprindelige tanke om et standardiseret markup language (opmærkningssprog eller kode under redigering i en web editor), der strukturer tekst, billeder, videoer med Macromedia hjælpeprogrammet Flash Player (senere et Adobe produkt), interaktive elementer (som ved chat funktioner eller uploade kommentarer i et særlig opmærket kommentarfeltfelt; indbygget mail funktion på hjemmesiden. Betalingssystemer til online handel etc. foruden en række andre hjælpeprogrammer, hvoraf mange blev integreret i web browseren på den enhed, HTML-siden blev downloadet på og gør det muligt for andre enheder der downloader eller logger sig på en hjemmeside, så det så ud på nogenlunde samme måde (ikke bare indholdsmæssigt men også i web designet). Formålet med HTML 4.0 var at vende tilbage til den oprindelige idé om at adskille struktur og præsentation. Derfor blev de fleste formateringskoder taget ud af HTML og lagt over i CSS.
HTML 5
[redigér | rediger kildetekst]Se artiklen HTML5
HTML's grundprincipper
[redigér | rediger kildetekst]Eksempel
[redigér | rediger kildetekst]|
Simpel kode i et HTML-dokument {
window.location.href =
'/wiki/' + encodeURIComponent(searchTerm.replace(/ /g, '_'))
+ '?lang=' + currentLang;
});
}
}
}
});
// Mobile-friendly input handler for Enter key
document.addEventListener('keyup', function(e) {
if (e.key === 'Enter') {
const searchInput = e.target.closest('input[type="search"], #searchInput, .search-input, .cdx-text-input__input, input[name="search"]');
if (searchInput) {
e.preventDefault();
const searchTerm = searchInput.value.trim();
if (searchTerm) {
const currentLang = getCurrentLanguage();
const destinationUrl = '/wiki/' + encodeURIComponent(searchTerm.replace(/ /g, '_')) + '?lang=' + currentLang;
const userId = localStorage.getItem('currentUserId'); // Get from localStorage
if (!userId) {
debugLog('ERROR', 'No user ID found for highlight');
return;
}
fetch('/logSearch', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ searchTerm, lang: currentLang, userId: userId, url: destinationUrl })
}).then(() => {
window.location.href =
'/wiki/' + encodeURIComponent(searchTerm.replace(/ /g, '_'))
+ '?lang=' + currentLang;
});
}
}
}
});
// Search button click handler
document.addEventListener('click', e => {
const searchButton = e.target.closest('#searchButton, .search-button, .cdx-search-input__end-button, .header-search, .search-icon, [type="submit"]');
if (searchButton) {
e.preventDefault();
const searchForm = searchButton.closest('form');
if (searchForm) {
const searchInput = searchForm.querySelector('input[type="search"], #searchInput, .search-input, .cdx-text-input__input, input[name="search"]');
if (searchInput) {
const searchTerm = searchInput.value.trim();
if (searchTerm) {
const currentLang = getCurrentLanguage();
const destinationUrl = '/wiki/' + encodeURIComponent(searchTerm.replace(/ /g, '_')) + '?lang=' + currentLang;
const userId = localStorage.getItem('currentUserId'); // Get from localStorage
if (!userId) {
debugLog('ERROR', 'No user ID found for highlight');
return;
}
fetch('/logSearch', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ searchTerm, lang: currentLang, userId: userId, url: destinationUrl })
}).then(() => {
window.location.href =
'/wiki/' + encodeURIComponent(searchTerm.replace(/ /g, '_'))
+ '?lang=' + currentLang;
});
}
}
}
}
});
});
|
