Ich bin in eine seltsame Situation geraten. Ich schreibe ein JavaScript-Lesezeichen, mit dem Benutzer sehr einfach und schnell auf externe Websites klicken und sie mit unserer Website teilen können. Es erhält einfach den Titel, die Seiten-URL, und wenn sie Text auf der Seite ausgewählt haben, wird er auch erfasst.
Das Problem ist, dass es aus irgendeinem Grund nicht mit externen Domänen funktioniert. Wenn wir es also intern verwenden, erhalten wir am Ende ein Freigabefenster mit der URL, die wie folgt formatiert ist:
http://internaldomain.com/sharetool.php?shareid=http://internaldomain.com/anotheroddpage.html&title=….
Das funktioniert gut, ABER wenn wir versuchen, eine externe Domain zu verwenden und am Ende eine URL haben, die so formatiert ist:
Dann bekommen wir ein Verbotener Fehler auf unserer Seite und kann sie nicht laden… Wenn wir die manuell entfernen http://
von der Externaldomain-Adresse lädt es wieder einwandfrei.
Also .. Ich denke, die beste Lösung, um dieses Problem zu umgehen, besteht darin, das JavaScript-Lesezeichen zu ändern, um das zu entfernen http
wie es das Fenster lädt. So sieht mein aktuelles Bookmarklet aus:
javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f="http://internaldomain.com/sharetool.php",l=d.location,e=encodeURIComponent,u=f+'?u='+e(l.href)+
Wie du sehen kannst, e(l.href)
Hier wird die URL übergeben.
Wie kann ich das ändern, damit es die externen Domänen entfernt http://
?