Cosa c'è di più pulito, più breve Javascript per inviare un URL a cui l'utente è in un altro processo tramite URL?

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

  •  09-06-2019
  •  | 
  •  

Domanda

Come la Deliziosa presentazione segnalibro-let, mi piacerebbe avere qualche JavaScript standard che posso utilizzare per presentare eventuali visitato l'URL di un sito 3a parte, quando questo è possibile tramite URL.Suggerimenti?

Per esempio, sto usando

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

finora, ma mi chiedo se c'è qualcosa di più sofisticato, potrei usare o meglio la pratica.

È stato utile?

Soluzione

Vuoi qualcosa di esattamente come il Delizioso bookmarklet (come in, qualcosa che l'utente attivamente clic su di inviare l'URL)?Se è così, probabilmente si può semplicemente copiare il loro codice e sostituire l'URL di destinazione:

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

Potrebbe essere necessario modificare la stringa di query nomi, ecc.... per corrispondere a ciò che il tuo script si aspetta.

Se si desidera tenere traccia di un utente attraverso il vostro sito web automaticamente, questo probabilmente non sarà possibile.Hai bisogno di chiedere l'URL con l'AJAX, ma il web browser non consentono Javascript per effettuare una richiesta al di fuori del dominio di origine.Forse è possibile con iframe l'inganno.

Edit: Giovanni mi ha battuto.

Altri suggerimenti

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

Un'altra opzione potrebbe essere qualcosa di simile a questo:

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

quindi il tuo javascript sarebbe:

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

o è possibile combinare la [salva link] con il presentare come questo:

<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>

e se si sta eseguendo il codice lato server, è possibile collegare la posizione in modo da poter essere JavaScript-free:

<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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top