Was ist das sauberste und kürzeste Javascript, um eine URL, auf der sich der Benutzer befindet, über eine URL an einen anderen Prozess zu übermitteln?

StackOverflow https://stackoverflow.com/questions/54426

  •  09-06-2019
  •  | 
  •  

Frage

Wie beim Delicious-Übermittlungs-Lesezeichen hätte ich gerne ein Standard-JavaScript, mit dem ich jede besuchte URL an eine Website eines Drittanbieters senden kann, sofern dies per URL möglich ist.Vorschläge?

Zum Beispiel habe ich verwendet

javascript:void(location.href="http://www.yacktrack.com/home?query="+encodeURI(location.href)) 

So weit, aber ich frage mich, ob es etwas Anspruchsvolleres gibt, das ich verwenden oder besser üben könnte.

War es hilfreich?

Lösung

Möchten Sie etwas genau wie das Bookmarklet Delicious (wie in, etwas der Benutzer aktiv klickt auf die URL einreichen)? Wenn ja, könnten Sie wahrscheinlich nur ihren Code kopieren und die Ziel-URL ersetzt werden:

javascript:(function(){
    location.href='http://example.com/your-script.php?url='+
    encodeURIComponent(window.location.href)+
    '&title='+encodeURIComponent(document.title)
})()

Sie müssen möglicherweise die Query-String-Namen ändern, usw., entsprechen, was Ihr Skript erwartet.

Wenn Sie einen Benutzer über Ihre Website automatisch verfolgen möchten, wird dies wahrscheinlich nicht möglich sein. Sie müßten die URL mit AJAX beantragen, aber der Web-Browser wird nicht zulassen, dass Javascript eine Anfrage außerhalb der Ursprungsdomäne zu machen. Vielleicht kann es mit iframe Betrügerei.

Edit: John schlug mich, um es

.

Andere Tipps

document.location = "http://url_submitting_to.com?query_string_param=" + window.location;

Eine andere Möglichkeit, um etwas so sein würde:

<form action="http://www.yacktrack.com/home" method="get" name="f">
  <input type="hidden" name="query" />
</form>

dann Javascript wäre:

f.query.value=location.href; f.submit();

oder Sie können die [save link] mit dem einreichen wie folgt kombiniert werden:

<form action="http://www.yacktrack.com/home" method="get" name="f" onsubmit="f.query.value=location.href;">
  <input type="hidden" name="query" />
  <input type="submit" name="Save Link" />
</form>

und wenn Sie serverseitigen Code ausführen, können Sie in der Lage stecken, so dass Sie JavaScript frei sein kann:

<form action="http://www.yacktrack.com/home" method="get" name="f">
  <input type="hidden" name="query" value="<%=Response.Url%>" />
  <input type="submit" name="Save Link" />
</form>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top