¿Cuál es el Javascript más limpio y más corto para enviar una URL en la que se encuentra el usuario a otro proceso a través de una URL?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Al igual que el marcador de envío de Delicious, me gustaría tener algo de JavaScript estándar que pueda usar para enviar cualquier URL visitada a un sitio de terceros cuando sea posible mediante URL.¿Sugerencias?

Por ejemplo, he estado usando

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

Hasta ahora, pero me pregunto si hay algo más sofisticado que pueda usar o practicar mejor.

¿Fue útil?

Solución

¿Quieres algo exactamente como el bookmarklet Delicious (como algo en lo que el usuario hace clic activamente para enviar la URL)?Si es así, probablemente podrías simplemente copiar su código y reemplazar la URL de destino:

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

Es posible que necesite cambiar los nombres de las cadenas de consulta, etc., para que coincidan con lo que espera su script.

Si desea rastrear a un usuario a través de su sitio web automáticamente, probablemente esto no sea posible.Debería solicitar la URL con AJAX, pero el navegador web no permitirá que Javascript realice una solicitud fuera del dominio de origen.Tal vez sea posible con iframe astucia.

Editar: John se me adelantó.

Otros consejos

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

Otra opción sería algo como esto:

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

entonces tu javascript sería:

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

o puedes combinar [guardar enlace] con el envío de esta manera:

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

y si está ejecutando código del lado del servidor, puede ingresar la ubicación para poder estar libre de JavaScript:

<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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top