Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.javascript > #5036
| From | Thomas 'PointedEars' Lahn <PointedEars@web.de> |
|---|---|
| Newsgroups | de.comp.lang.javascript |
| Subject | Re: Korrektur Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" |
| Date | 2019-02-15 23:10 +0100 |
| Organization | PointedEars Software (PES) |
| Message-ID | <8736b63a-4829-0a6b-d3e5-36f8b039c3a6@PointedEars.de> (permalink) |
| References | <q449db$1nk$1@dont-email.me> <q449lo$3g8$1@dont-email.me> |
Bernd Meier wrote:
> Am 14.02.2019 um 18:44 schrieb Bernd Meier:
>> Durch welche Datei wurde ich aufgerufen?
Das Konzept der Datei ist vom Konzept des Webdokuments gedanklich zu
trennen. Ein Webdokument kann genau so als Datei in einem Dateisystem
existieren; es kann aber auch erst bei Anforderung vom Server generiert werden.
>> -> Ersetze im folgenden Code das href-Tag
Das ist *kein* Tag, sondern ein _Attribut_:
<https://developer.mozilla.org/de/docs/Learn/HTML/Einf%C3%BChrung_in_HTML/Lerne_HTML_kennen>
>> dort durch aria-current="page", wo es dem Namen der aufrufenden
>> Datei zugewiesen wurde.
Es wird *keine* Datei aufgerufen, sondern ein Webdokument vom Webserver
*abgerufen* (request) und von der Layout-Engine *dargestellt* (render, display).
<https://www.html5rocks.com/de/tutorials/internals/howbrowserswork/>
(dabei ist zu beachten, dass dieser Artikel jetzt schon 8 Jahre alt ist)
>> <li><a href="index.html>Home</a></li>
>> <li><a href="punkt1.html">Punkt1</a></li>
>> <li><a href="punkt2.html">Punkt2</a></li>
>>
>> Weiß jemand, wie man das erreichen kann?
>
> Korrektur
>
> Leider habe ich vergessen, meinen JavaScript-Code mit
> document.write zu umrahmen.
Nein, Du hast nichts vergessen, denn dieser Ansatz ist (hier) falsch.
> Meine b.js müsste als in etwa so aussehen:
>
> document.write('\
> \
> <li><a aria-current="page">Home</a></li>\
> <li><a href="punkt1.html">Punkt1</a></li>\
> <li><a href="punkt2.html">Punkt2</a></li>\
> \
> ');
Das ist fehlerträchtiger Unsinn. Wie navigieren Benutzer ohne
clientseitiges Scripting? Was soll eine Suchmaschine (die nicht Scripting
unterstützen muss) hier indizieren?
Ein sinnvoller Ansatz wäre:
<ul>
<li><a id="link-home" href="/">Home</a></li>
<li><a id="link-punkt1" href="punkt1.html">Punkt1</a></li>
<li><a id="link-punkt2" href="punkt2.html">Punkt2</a></li>
</ul>
<script type="text/javacript">
(function () {
document.addEventListener('DOMContentLoaded', function () {
var filename = (window.location.pathname.match(
/\/([^/.]+)[^/]*$/) || [, ""])[1];
/* Absichtlich kein Test hier, damit Fehler im Dokument auffallen */
document.getElementById('link-' + (filename || 'home'))
.setAttribute('aria-current', 'page');
}, false);
}());
</script>
Im allgemeinen wird dieses Problem aber serverseitig von einem
Content-Management-System (CMS) gelöst, d.h. es wird das Markup serverseitig
passend generiert. Bis auf wenige Ausnahmen ist selbst im Anfängerbereich
die Zeit statisch generierter, händisch bearbeiteter HTML-Dokumente lange
vorbei.
--
PointedEars
Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.
Back to de.comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar
HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" Bernd Meier <bm6093209@hushmail.com> - 2019-02-14 18:44 +0100
Korrektur Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" Bernd Meier <bm6093209@hushmail.com> - 2019-02-14 18:48 +0100
Re: Korrektur Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-02-15 23:10 +0100
Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2019-02-15 00:53 +0100
Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" Arno Welzel <usenet@arnowelzel.de> - 2019-02-16 13:58 +0100
Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page" Bernd Meier <bm6093209@hushmail.com> - 2019-02-23 01:43 +0100
csiph-web