사용자가 있는 URL을 URL을 통해 다른 프로세스에 제출하는 가장 깨끗하고 짧은 Javascript는 무엇입니까?
-
09-06-2019 - |
문제
Delicious 제출 북마크와 마찬가지로 URL을 통해 가능한 경우 방문한 URL을 제3자 사이트에 제출하는 데 사용할 수 있는 표준 JavaScript를 갖고 싶습니다.제안?
예를 들어, 저는
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)
})()
스크립트가 예상하는 것과 일치하도록 쿼리 문자열 이름 등을 변경해야 할 수도 있습니다.
귀하의 웹사이트를 통해 자동으로 사용자를 추적하려는 경우 이는 아마도 불가능할 것입니다.AJAX를 사용하여 URL을 요청해야 하지만 웹 브라우저는 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>
그러면 자바스크립트는 다음과 같습니다:
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>
제휴하지 않습니다 StackOverflow