사용자가 있는 URL을 URL을 통해 다른 프로세스에 제출하는 가장 깨끗하고 짧은 Javascript는 무엇입니까?

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

  •  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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top