Quoi de plus propre, plus court Javascript pour soumettre une URL, l'utilisateur est à un autre processus via l'URL?

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

  •  09-06-2019
  •  | 
  •  

Question

Comme le Délicieux soumission de signets-permettez, j'aimerais avoir quelques JavaScript standard je peux utiliser pour soumettre tout visité l'URL d'un site 3ème partie lorsque c'est possible par URL.Des Suggestions?

Par exemple, j'ai été en utilisant

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

jusqu'à présent, mais me demande si il y a quelque chose de plus sophistiqué que je pouvais utiliser ou de meilleures pratiques.

Était-ce utile?

La solution

Voulez-vous quelque chose exactement comme le Délicieux bookmarklet (comme dans, quelque chose que l'utilisateur activement clique sur soumettre l'URL)?Si oui, vous pouvez probablement juste de copier le code et remplacer l'URL de la cible:

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

Vous devrez peut-être modifier la chaîne de requête de noms, etc., pour correspondre à ce que votre script attend.

Si vous voulez suivre un utilisateur par le biais de votre site web automatiquement, ce ne sera probablement pas possible.Vous auriez besoin de demander l'URL avec l'AJAX, mais le navigateur web ne permet pas de Javascript pour faire une demande à l'extérieur du domaine d'origine.C'est peut-être possible avec iframe la ruse.

Edit: John me battre pour elle.

Autres conseils

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

Une autre option serait de quelque chose comme ceci:

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

ensuite, votre javascript serait:

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

ou vous pourriez combiner l' [enregistrer le lien] avec le présenter comme ceci:

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

et si vous êtes en cours d'exécution de code côté serveur, vous pouvez le brancher à l'emplacement de sorte que vous pouvez être en JavaScript gratuit:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top