URL 외에도 현재 URL의 HTML 제목을 가져 오려면이 "공유"버튼을 얻으려면 어떻게해야합니까?
-
20-08-2019 - |
문제
저는 학습 프로젝트로 기본 공유 버튼을 구축하려고하는 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
) 문서의 주소를 변경합니다.