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