<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.johannes-gehrke.de/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wiki.johannes-gehrke.de/feed.php">
        <title>wiki.johannes-gehrke.de - programmieren:javascript</title>
        <description></description>
        <link>https://wiki.johannes-gehrke.de/</link>
        <image rdf:resource="https://wiki.johannes-gehrke.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-24T01:06:29+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:ajax_post_zu_php_script&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:alpinejs_ajax_beispiel&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:cookie_auslesen&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:default_optional_paramater_funktionen&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:e-mail-adresse_spam_schutz&amp;rev=1722423552&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:events_throtteling&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:farbiges_console_log&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:get_parameter_aus_der_url_auslesen&amp;rev=1727950827&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:go_back_button_navigation&amp;rev=1712765986&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:is_in_visble_in_viewport&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:js_function_exists&amp;rev=1715071852&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:jsonp_cross_domain_ajax_call&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:multible_ajax_xhr_aufrufe&amp;rev=1692962346&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:requirejs&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:script_nach_html_load_laden&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:script_wenn_seite_geladen_ausfuehren&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:url_mit_paramatern_aendern_und_laden&amp;rev=1671280093&amp;do=diff"/>
                <rdf:li rdf:resource="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:vanilla_js_statt_jquery&amp;rev=1671280093&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wiki.johannes-gehrke.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>wiki.johannes-gehrke.de</title>
        <link>https://wiki.johannes-gehrke.de/</link>
        <url>https://wiki.johannes-gehrke.de/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:ajax_post_zu_php_script&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>AJAX / XHR JSON Daten per POST an PHP Skript schicken</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:ajax_post_zu_php_script&amp;rev=1671280093&amp;do=diff</link>
        <description>AJAX / XHR JSON Daten per POST an PHP Skript schicken

Wenn man Daten auf dem Server an eine PHP Datei schicken möchte, bietet es sich an einen Javascript AJAX Call zu machen. Dann werden die Daten asynchron an den Server geschickt und man handled im Frontend die Antwort. Bei großen JSON Datenmengen sollte man POST als Methode wählen, da bei GET Requests die Zeichenzahl / Datenmenge begrenzt ist.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:alpinejs_ajax_beispiel&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Alpine.js</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:alpinejs_ajax_beispiel&amp;rev=1671280093&amp;do=diff</link>
        <description>Alpine.js

Das Framework alpine.js ist sehr nützlich um interaktive Frontend-Seiten schnell und sauber hin zu bekommen. Wenn man jedoch einen AJAX Call durchführen möchte und und aus irgendwelchen Gründen kein .fetch() nutzen kann, muss man auf das bekannte</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:cookie_auslesen&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript Cookie auslesen mit nur einer Zeile</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:cookie_auslesen&amp;rev=1671280093&amp;do=diff</link>
        <description>Javascript Cookie auslesen mit nur einer Zeile

Der Code ist nicht IE11 kompatibel, kann aber entsprechend umgeschrieben werden. IE11 unterstützt keine Arrow Funktionen, aber das Prinzip finde ich gut.


const cookie = name =&gt; `; ${document.cookie}`.split(`; ${name}=`).pop().split(&#039;;&#039;).shift();

cookie(&#039;_ga&#039;);
// Result: &quot;GA1.2.1929736587.1601974046&quot;</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:default_optional_paramater_funktionen&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Default/Optionale Paramter in Funktionen</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:default_optional_paramater_funktionen&amp;rev=1671280093&amp;do=diff</link>
        <description>Default/Optionale Paramter in Funktionen

Dieser Code ist nur mit neuen Browsern kompatibel (nicht IE11)


function eine_funktion( optionaler_parameter =   &#039;Fallback Wert&#039; ){
    return typeof optionaler_parameter;
}


Dieser Code ist kompatibel mit IE11:</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:e-mail-adresse_spam_schutz&amp;rev=1722423552&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-07-31T10:59:12+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Spam-Schutz für E-Mail Adressen mit Javascript</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:e-mail-adresse_spam_schutz&amp;rev=1722423552&amp;do=diff</link>
        <description>Spam-Schutz für E-Mail Adressen mit Javascript

Dieser Javascript Code wird ausgeführt nach dem die Seite geladen wurde. Wartet 1,5 Sekunden und wandelt dann jeden HTML-Link in einen E-Mail-Adressen Link um. So fern dieser Link das Attribute data-mail-b64</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:events_throtteling&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript Events limitieren / drosseln</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:events_throtteling&amp;rev=1671280093&amp;do=diff</link>
        <description>Javascript Events limitieren / drosseln

Manche Events, wie z.B. resize oder scroll feuern zu häufig für die meisten normalen Anwendungen – vor allem wenn gleichzeitig eine HTML Manipulation am DOM passieren soll. Solche Events kosten dann viel Performance. Es ist meist nötig diese mit einem Timeout zu drosseln, damit das Javascript Event verzögert mit einem Delay ausgeführt wird – und nicht mehr so häufig.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:farbiges_console_log&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Console.log() Meldung in Farbig formatieren</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:farbiges_console_log&amp;rev=1671280093&amp;do=diff</link>
        <description>Console.log() Meldung in Farbig formatieren

Mit diesem Code Schnipsel kann man eine formatiere Console.log() Ausgabe erzeugen


(function (){
	console.log(&quot;&quot;);
	console.log(&quot;%c brandgrad° &quot;, &quot;background: rgb(51,51,51); color: rgb(255,255,255); font-size: 18px; padding : 10px 20px 10px 20px; margin : 10px&quot;);
	console.log(&quot;&quot;);
})();</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:get_parameter_aus_der_url_auslesen&amp;rev=1727950827&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-10-03T10:20:27+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript GET Parameter aus einer URL auslesen</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:get_parameter_aus_der_url_auslesen&amp;rev=1727950827&amp;do=diff</link>
        <description>Javascript GET Parameter aus einer URL auslesen

Der Code ist nicht IE11 kompatibel, kann aber entsprechend umgeschrieben werden. IE11 unterstützt keine Arrow Funktionen, aber das Prinzip finde ich gut.


const get_url_parameters = function() {
	const URL        = window.location.href;
	const has_params = ( URL.split(&quot;?&quot;).length &gt; 1 ) ? true : false;
	if( !has_params ) return {} // -- exit, wenn es keine Parameter gibt

	const URL_params = JSON.parse(&#039;{&quot;&#039; + decodeURI(URL.split(&quot;?&quot;)[1]).replace(/…</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:go_back_button_navigation&amp;rev=1712765986&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-04-10T16:19:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript-Code ausführen bei Browser Go Back Button und History State auslesen</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:go_back_button_navigation&amp;rev=1712765986&amp;do=diff</link>
        <description>Javascript-Code ausführen bei Browser Go Back Button und History State auslesen

In einer One-Page Website mit Javascript ist es wichtig, dass der User mit dem Browser Back-Button nicht zurück auf die vorherige Seite kommt, sondern eine eigene Funktion der Applikation ausgeführt wird.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:is_in_visble_in_viewport&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Element visible in Viewport - Ist Elementes sichtbar im aktuellen Window</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:is_in_visble_in_viewport&amp;rev=1671280093&amp;do=diff</link>
        <description>Element visible in Viewport - Ist Elementes sichtbar im aktuellen Window

Diese Funktion kommt aus einem GitHub Thread. Sie testet ob ein Elemente mind. zum Teil sichtbar im aktuellen Browser-Fenster ist. Andere Funktionen die man im Internet findet bilden nur ab, dass das gesamte Element sichtbar im Browser Fenster nach scrollen ist. Dieser Code funktioniert aber auch, wenn nur ein Teil des Elementes bereits im Viewport sichtbar ist.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:js_function_exists&amp;rev=1715071852&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2024-05-07T08:50:52+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript prüfen ob Function Exists</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:js_function_exists&amp;rev=1715071852&amp;do=diff</link>
        <description>Javascript prüfen ob Function Exists

Mit diesem Snippet kann man sicher stellen ob eine Funktion existiert oder nicht. Nützlich um ggf. zu vermeiden, dass man Module doppelt registriert.

Achtung dieser Code sagt nur ob es eine Funktion/ein Objekt gibt, welches ans Window Object gehangen ist. Also globale Funktionen. Objekte/Funktionen die mit Const oder Let erzeugt wurden, werden nicht erkannt. Ebenso wenig werden Funktionen innerhalb von Objekten erkannt, als z.b.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:jsonp_cross_domain_ajax_call&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>JSONP Cross Domain AJAX Aufruf</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:jsonp_cross_domain_ajax_call&amp;rev=1671280093&amp;do=diff</link>
        <description>JSONP Cross Domain AJAX Aufruf

Das ist nicht wirklich Ajax im eigentlichen Sinne. Aber wenn die Daten auf einer anderen Domain liegen, die eigentlich per CORS kein Cross-Domain Aufruf unterstützen, kann JSONP helfen. 

Dabei wir eine externe Ressource so eingebunden, das sie nach dem laden selbst eine Funktion aufruft. Der Funktionsname kommt daher per ?GET Parameter.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:multible_ajax_xhr_aufrufe&amp;rev=1692962346&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2023-08-25T11:19:06+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Multible AJAX/XHR Aufrufe tätigen</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:multible_ajax_xhr_aufrufe&amp;rev=1692962346&amp;do=diff</link>
        <description>Multible AJAX/XHR Aufrufe tätigen

Manchmal ist es wichtig oder benötigt mehrere AJAX Requests durchzu führen und man will die “Callback-Hell” (Verkettung von unübersichtlich vielen Callbacks) verhinden.

Dazu habe ich auf Stackoverflow folgenden Scripts gefunden, die ich noch aufarbeiten muss:</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:requirejs&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Nützliche Require.js Scripte</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:requirejs&amp;rev=1671280093&amp;do=diff</link>
        <description>Nützliche Require.js Scripte

Hier das Basic Script wie man require.js klever integriert.

Reihenfolge der Dateien

Wie require.js Files lädt:

	*  die require.js
	*  danach die angegeben config.js
	*  dann die main.js oder app.js aus der config.js</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:script_nach_html_load_laden&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript nach Page-Load laden</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:script_nach_html_load_laden&amp;rev=1671280093&amp;do=diff</link>
        <description>Javascript nach Page-Load laden

Um Javascript Files nach dem die Seite geladen ist erst auch zu laden, kann dieses Script benutzt werden.


window.addEventListener( &#039;load&#039;, function(){
	const script = document.createElement( &#039;script&#039; );
	script.onload = function () {
		// Was soll nach dem Laden ausgeführt werden?
		// do_stack() 
	};
	script.src = &#039;https://www.brandgrad.com//assets/js/main.js&#039;;
	document.head.appendChild(script); //or something of the likes
} )</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:script_wenn_seite_geladen_ausfuehren&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>On Page Ready/Loaded - Javascript ausführen, wenn die Seite geladen/bereit ist</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:script_wenn_seite_geladen_ausfuehren&amp;rev=1671280093&amp;do=diff</link>
        <description>On Page Ready/Loaded - Javascript ausführen, wenn die Seite geladen/bereit ist

Mit diesem Script kann man eine Funktion aufrufen, die prüft ob das Dom geladen wurde und das Script aufgerufen werden kann. Es ist eine alternative zu jQuerys.ready() Methode. Diese Methode kann man auch nutzen, falls die Seite bereits geladen wurde.</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:url_mit_paramatern_aendern_und_laden&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Javascript: Browser URL mit GET Parametern ändern</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:url_mit_paramatern_aendern_und_laden&amp;rev=1671280093&amp;do=diff</link>
        <description>Javascript: Browser URL mit GET Parametern ändern

Dieser Code liest die Browser URL aus, trennt sie in Ihre Komponenten Server Host, Pfad/Path und GET Parametern. Einer der GET-Parameter wird neu gesetzt und die aktualisierte URL wird aufgerufen.


const url_host          = window.location.origin;            // https://www.domain.com/
const url_path          = window.location.pathname;          // folder/subpage.php/
const url_search_string = window.location.search;            // ?parameter=tru…</description>
    </item>
    <item rdf:about="https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:vanilla_js_statt_jquery&amp;rev=1671280093&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2022-12-17T12:28:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Vanilla JS alternativen zu jQuery</title>
        <link>https://wiki.johannes-gehrke.de/doku.php?id=programmieren:javascript:vanilla_js_statt_jquery&amp;rev=1671280093&amp;do=diff</link>
        <description>Vanilla JS alternativen zu jQuery

Auf der Seite &quot;move from jquery to vanilla javascript&quot; sind ein paar tolle Beispiele, wie man auf jQuery verzichten kann. Die wichtigsten die ich immer wieder brauche (und nachschlage), habe ich hier her kopiert.

Custom Event triggern


document.dispatchEvent(new Event(&quot;myEvent&quot;));
document.querySelector(&quot;.box&quot;).dispatchEvent(new Event(&quot;myEvent&quot;));</description>
    </item>
</rdf:RDF>
