Dieser jQuery-Code wird als Bookmarklet im WordPress-Editor ausgeführt. Der Bookmarklet-/jQuery-Code bearbeitet den Text im Inhaltsfeld und hängt einen Parameter (z. B. ?parameter) an das Ende der URL an.
Die URL ist immer derselbe Domänenname (z. B. domain.com). Die URL enthält jedoch häufig Verzeichnisse (z. B. domain.com/directory/index.html?parameter). Ich brauche den jQuery-Code zum Anhängen, unabhängig davon, was nach dem Domänennamen steht.
Die komplexeste Situation wäre domain.com/directory/index.html?someotherparameter?parameter
. Dieser Inhaltsbereich enthält oft mehr als eine URL, sodass das Skript den gesamten Text durchlaufen muss.
Mein halb funktionierender Code
var url="domain.com";
var append = ' ?parameter ';
$(".wp-editor-area").each(
function(){
var haystack = $(this).text();
$(this).text(haystack.replace(url, url+ append));
});
Der HTML-Code, der geändert wird
<div id="wp-content-editor-container" class="wp-editor-container"><textarea class="wp-editor-area" rows="10" tabindex="1" cols="40" name="content" id="content"><a title="This is a hyperlink" href="http://domain.com/directory">This is a hyperlink</a></textarea></div>
seine aktuelle Ausgabe
<a title="This is a hyperlink" href="http://domain.com%20?parameter%20/directory">This is a hyperlink</a>
Jsfiddle für die Bequemlichkeit
Beachten Sie, dass meine Ausgabe nicht nach der gesamten URL angehängt wird. Wie kann ich dies für komplexere URLs ändern und ein Dokument durchlaufen, wenn es mehr URLs im Textkörper enthält?
Die einzige relevante und ähnliche Frage, die ich finden konnte, ist diese, aber ich konnte die Ergebnisse nicht duplizieren.
Danke!!