Какой самый чистый и короткий Javascript для отправки URL-адреса, по которому находится пользователь, другому процессу через URL-адрес?

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

  •  09-06-2019
  •  | 
  •  

Вопрос

Как и в случае с закладкой для отправки Delicious, мне хотелось бы иметь некоторый стандартный JavaScript, который я мог бы использовать для отправки любого посещенного URL-адреса на сторонний сайт, если это возможно по URL-адресу.Предложения?

Например, я использовал

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

пока, но интересно, есть ли что-то более сложное, что я мог бы использовать или лучше попрактиковаться.

Это было полезно?

Решение

Вам нужно что-то точно такое же, как букмарклет Delicious (например, что-то, на что пользователь активно нажимает, чтобы отправить URL-адрес)?Если да, то вы, вероятно, могли бы просто скопировать их код и заменить целевой URL:

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

Возможно, вам придется изменить имена строк запроса и т. д., чтобы они соответствовали ожиданиям вашего сценария.

Если вы хотите автоматически отслеживать пользователя через свой веб-сайт, это, вероятно, будет невозможно.Вам нужно будет запросить URL-адрес с помощью AJAX, но веб-браузер не позволит Javascript выполнять запрос за пределами исходного домена.Может быть, это возможно с iframe обман.

Редактировать: Джон меня опередил.

Другие советы

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

Другим вариантом было бы что-то вроде этого:

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

тогда ваш javascript будет:

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

или вы можете объединить [ссылку для сохранения] с отправкой следующим образом:

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

и если вы используете серверный код, вы можете указать местоположение, чтобы избавиться от 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>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top