Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.javascript > #5036

Re: Korrektur Re: HTML-Fragmente mit JavaScript einbinden / wechselndes aria-current="page"

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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