HTML Anker mit CSS und JavaSkript

In Wordpress werden Anker sehr einfach eingebunden. Um diese überhaupt adressieren zu können muss man sich etwas einfallen lassen.

Anker in Wordpress sehen so aus:

<a id="meinanker"></a>

Das funktioniert für Nutzer die sich etwas in HTML auskennen. Unbedarfte haben dann ihre Probleme. Daher brauchen wir ersteinmal CSS um die Anker sichtbar zu machen:

a:not([href]) {
background-color: unset;
display: inline;
font-size: 15px;
margin-left: -20px;
}
a:not([href])::before {
display: inline-block;
text-rendering: auto;
font-family: FontAwesome,sans-serif;
-webkit-font-smoothing: antialiased;
content: '\f0c1';
}

So können wir alle Elemente stylen die kein href-Attribut haben. 

Damit nun per Klick auf das Icon die URL samt Anker in die Zwischenablage gelegt wird, braucht es etwas JavaSkript: 

$('a').not('[href]').click(function (e) {
e.preventDefault();
var copyText = $(location).attr('href') + '#' + $(this).attr('id');
document.addEventListener('copy', function(e) {
e.clipboardData.setData('text/plain', copyText);
e.preventDefault();
}, true);
document.execCommand('copy');
console.log('copied text : ', copyText);
alert('Anker-URL: ' + copyText);
});

Wenn die Kettensymbole nun noch verschwinden sollen und nur per HOVER sichtbar:

h1 a:not([href]),
h2 a:not([href]),
h3 a:not([href]) {
display: none;
}
h1:hover a:not([href]),
h2:hover a:not([href]),
h3:hover a:not([href]) {
display: inline-block;
}

Automatisches Smooth-Scrolling zum Anker beim Laden der Seite

/*** smooth scroll to anchor ***/

window.addEventListener('load', () => {
if (window.location.hash) {
const target = document.querySelector(window.location.hash);
console.log( target );
if (target) {
target.scrollIntoView({
behavior: 'smooth',
});
}
}
});

 

 

Achtung

In neueren Browsern gibt es Probleme mit A-Ankern - es passiert einfach nichts.   

<a name="anker"></a>
<a id="anker"></a> 

Macht zunehmend Probleme. Was funktioniert ist das Ansprechen von DIVs und Überschriften:

<h3 id="anker">Überschrift</h3>
<div id="anker"></div>

Diese lassen sich dann áber ebenfalls Stylen wenn man noch ein class="anker" hinzufügt.

 

Alternative

Ein benutzerfreundliches, auf Funktionen fokussiertes Easy Table of Contents-Plugin, mit dem Sie ein Inhaltsverzeichnis in Ihre Beiträge, Seiten und benutzerdefinierten Beitragstypen einfügen können.

https://de.wordpress.org/plugins/easy-table-of-contents/

Widerrufbutton im Onlineshop

Widerrufbutton im Onlineshop

Bei allen B2C Fernabsatzverträgen muss es ab Spätestens ab dem 19. Juni 2026 möglich sein den geschlossenen Vertrag genauso einfach zu widerrufen wie abzuschließen. Was muss ich umbauen? Wie sieht eine Lösung für...

Read more

wasapi modus ausschalten

Um den WASAPI-Exklusivmodus in Windows zu deaktivieren, öffnen Sie über mmsys.cpl (Win+R) die Soundeinstellungen, wählen das Wiedergabegerät aus und entfernen unter „Eigenschaften“ > „Erweitert“ die Haken bei „Anwendungen haben alleinige...

Read more

JCE Fileupload maximum 1024kb

JCE Fileupload maximum 1024kb

Der JCE lässt nur Dateien bis 1024KB ( 1 MB ) zu

Read more

Joomla OSmap Update führt zu Fatal Error…

Joomla OSmap Updates

Die aktuellen Updates von OSMap Free verursachen Fehler bei einem Update.  Problem ist die Erweiterung "ShackExtensionSupport" darin befindet sich die Datei "AbstractScript.php"

Read more

Matomo Cronjob bei ALLinkl einrichten

Matomo (früher Piwik) ist ein Open-Source-Webanalyse-Tool, das ähnlich wie Google Analytics funktioniert, aber mit starkem Fokus auf Datenschutz, Datenhoheit und DSGVO-Konformität.Es kann entweder selbst gehostet (On-Premise) oder als Cloud-Lösung genutzt...

Read more

Unclosed regex pattern at position

Joomshaper Compress JS

Ein unschöner Fehler tritt im Zusammenspiel vom JoomShaper Template „shaper_helixultimate“ und dem Video Plugin „AllVideos (by JoomlaWorks)“ auf.

Read more

Joomla & WordPress-Website lokal/off…

Website lokal speichern mit HTTrack

Ein statisches Backup (HTML Seiten) einer dynamischen Webseite auf CMS Basis (PHP MySQL) wie Wordpress oder Joomla macht sich am besten mit HTTrack. Wir nutzen das Tool gern um einzelne Seiten...

Read more

HTTrack Empty Mirror Error

HTTrack Empty Mirror Error

Wir nutzen den guten alten „WinHTTrack Website Copier“ gern um eine statische Kopie einer Joomla oder Wordpress-Webseite zu erstellen und abzulegen. Das ist vor allem bei Maintenance oder Baustellenseiten eine...

Read more

REST-API : Datenbankmigrationen mit Alem…

Im Zuge der Entwicklung einer REST API mit Python, kommen wir jetzt zu Datenbankmigrationen mit Alembic. Migrationen sind extrem wichtig, wenn du deine Datenbankstruktur im Laufe der Entwicklung ändern willst (z...

Read more
Wir nutzen Cookies auf unserer Website. Diese sind essenziell für den Betrieb der Seite, sogenannte Tracking Cookies werden nicht eingesetzt. Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.