JavaScript: Mehrere Wörter in einem String ersetzen

Diese JavaScript-Funktion ersetzt alle Wörter in dem String (str) mit den im Parameter „dictionary“ festgelegten Werten. Möglich wird das durch den Aufruf einer Callback-Funktion mit dem auf das Suchmuster (\w+) passenden Wert. In diesem Fall werden nur alphanumerische Wörter beachtet. Dieses Verhalten kann aber beliebig über den verwendeten regulären Ausdruck angepasst werden.

Code:

function dictionaryReplace(str, dictionary)
{
    return str.replace(/\w+/g,
    function(regex_match)
    {
        return dictionary[regex_match] || regex_match;
    })
}

JavaScript: Mehrere Wörter in einem String ersetzen weiterlesen

Versehentlichen Datenverlust in HTML-Formularen verhindern

Dieser jQuery-Code verhindert, dass ein Benutzer versehentlich seine mühsam eingegeben Daten, durch einen unachtsamen Klick auf einen Link oder durch eine falsche Tastenkombination, verliert.
In diesem Beispiel werden nach dem Laden der Seite alle Formular-Werte per Serialisierung in der Variable „serialized_values“ gespeichert. Sobald jetzt ein Unload-Event ausgelöst wird, muss der Benutzer bestätigen, dass er die aktuelle Seite tatsächlich verlassen möchte. Der Dialog wird nur angezeigt, wenn sich auch tatsächlich Daten verändert haben.

var serialized_values = "";

$(document).ready(function()
{  
  serialized_values = $("form").serialize();  
});

window.onbeforeunload = confirmLeave;

function confirmLeave()
{
    if(serialized_values != $("form").serialize())
    {
        return unescape("Nicht gespeicherte Informationen gehen m%F6glicherweise verloren.");
    }      
}

Um die Bestätigung für einzelne Elemente (z.B. Submit-Buttons) zu deaktivieren, reicht es den Event-Handler auf null zu setzten.

<button type="submit" onclick="window.onbeforeunload = null">Formular speichern</button>

Cross-Domain Requests (XDR) mit JavaScript / jQuery

Folgende Problematik: Möchte man bestimmte Informationen einer fremden Webseite mit JavaScript auslesen, dann ist man gezwungen Workarrounds anzuwenden. Eine Möglichkeit ist, ein kleines PHP-Skript als Proxy einzusetzen, um an die gewünschten Daten zu kommen.
Cross-Domain Requests (XDR) mit JavaScript / jQuery weiterlesen

Anzahl der Elemente eines Objekts in JavaScript ermitteln

In JavaScript wird häufig ein Objekt als Ersatz für ein assoziatives Array verwendet. Daraus ergibt sich die Problematik, dass die Anzahl der Elemente eines Objekts nicht ohne Weiteres ermittelt werden kann. Abhilfe schafft der folgende Code:

var oTestObject = new Object();

oTestObject['element1'] = "Wert1";
oTestObject['element2'] = "Wert2";
oTestObject['element3'] = "Wert3";
oTestObject['element4'] = "Wert4";

Object.getLength = function(oTmpObject)
{
    var iLength = 0;

    for (var sKey in oTmpObject)
    {
        if (oTmpObject.hasOwnProperty(sKey)) iLength++;
    }
    return iLength;
};

//Anzahl der Elemente ermitteln
var iLength = Object.getLength(oTestObject); //4

Demo: