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"

Path csiph.com!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder7.news.weretis.net!news.mixmin.net!news2.arglkargh.de!news.karotte.org!news.space.net!news.m-online.net!news.bgeserver.de!bgepartei.de!news2.open-news-network.org!.POSTED.137.227.197.178.dynamic.wless.zhbmb00p-cgnat.res.cust.swisscom.ch!not-for-mail
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 Fri, 15 Feb 2019 23:10:31 +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>
Reply-To Thomas 'PointedEars' Lahn <usenet@PointedEars.de>
Mime-Version 1.0
Content-Type text/plain; charset=windows-1252
Content-Transfer-Encoding 8bit
Injection-Info news2.open-news-network.org; posting-host="137.227.197.178.dynamic.wless.zhbmb00p-cgnat.res.cust.swisscom.ch:178.197.227.137"; logging-data="22233"; mail-complaints-to="abuse@bgeserver.de"
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0
X-Mozilla-News-Host news://news6.open-news-network.org
In-Reply-To <q449lo$3g8$1@dont-email.me>
Content-Language de-CH
Xref csiph.com de.comp.lang.javascript:5036

Show key headers only | 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