URL 외에도 현재 URL의 HTML 제목을 가져 오려면이 "공유"버튼을 얻으려면 어떻게해야합니까?

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

문제

저는 학습 프로젝트로 기본 공유 버튼을 구축하려고하는 JavaScript 초보자입니다. 나는 한 가지 측면에 대해 약간 혼란스러워합니다. 현재 페이지의 URL을 가져 와서 공유 양식을 전립하는 URL로 전달할 수 있지만 HTML 제목을 잡는 방법을 잘 모르겠습니다.

내가 멀리해야 할 사항은 다음과 같습니다.

<a href="http://www.domain.com/submit" onclick="window.location = 'http://www.domain.com/submit?url=' + encodeURIComponent(window.location); return false;"> Share This </a> 

현재 페이지 제목을 얻기 위해 OnClick 섹션에 추가합니까? 그것이 무엇이든 URL에서 "title ="로 전달됩니다.

보너스 : 현재 페이지에서 강조 표시된 텍스트를 따라 추가 할 수있는 것이 있습니까? "body ="로 URL에 들어갑니다.

그래서 나는이 공란을 채우려고합니다.

<a href="http://www.domain.com/submit" onclick="window.location = 'http://www.domain.com/submit?url=' + encodeURIComponent(window.location); return false; + 'title=' + SOMETHING + 'body=' + SOMETHING'"> Share This </a>

적어도 나는 그렇게 생각합니다. 나는 +의 +와 ''가 올바른 장소에 있다고 확신하지 못한다.

도움이 되었습니까?

해결책

나는 당신이 원한다고 생각합니다 문서 제목. 선택한 텍스트를 얻는 것은 특히 IE를 지원하려는 경우 좀 더 복잡합니다. Dom Standard입니다 Window.getSelection 그러나 즉, 당신은 엉망이되어야합니다 범위 - IE8에서 상황이 개선되었는지 확인하지 않았습니다.

또한 공유 버튼은 어디에 있습니까? 페이지에 있으면 버튼을 클릭하면 선택한 텍스트를 선택 해제합니다.

다른 팁

선택한 텍스트를 얻는 방법에는 여러 가지가 있으며 다른 브라우저는 다른 브라우저를 구현합니다.

먼저 있습니다 document.getSelection(), 선택한 텍스트를 문자열로 반환합니다. 그런 다음 있습니다 window.getSelection(), 선택 객체를 반환합니다. 원시 텍스트를 얻으려면 사용하십시오 toString() 방법. IE 텍스트를 얻는 방법은 범위를 사용합니다. document.selection.createRange().text.

래퍼 기능을 사용하는 것이 좋습니다 document.getSelection() 위에서 언급 한 모든 방법을 지원하는 모든 브라우저에 사용할 수 있습니다.

if(typeof document.getSelection === 'undefined') {
    document.getSelection =
        window.getSelection ? function() {
            return window.getSelection().toString();
        } :
        document.selection ? function() {
            return document.selection.createRange().text;
        } :
        null;
}

참고 사항 : 설정해야합니다 location.href (그리고 아닙니다 location) 문서의 주소를 변경합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top