2009-12-22 5 views
3

nydailynews.com 사이트에서 텍스트를 복사하여 붙여 넣으면 텍스트 스 니펫이 추가됩니다.자바 스크립트 : 사용자가 복사 한 텍스트에 텍스트를 추가하는 방법

더 읽기 : http://www.nydailynews.com/#ixzz0aN123abc

는 어떻게 이것을 달성 할 수 있습니까?

나는 외부 JavaScript 파일 (jquery)을 모두 검색했으며 이에 상응하는 내용을 찾을 수 없습니다. 이것은 간단한 CSS로 할 수있는 것입니까?

+0

내가 비활성화 자바 스크립트 그것은 JQuery와, 그래서 잘 그 후 작동하지 않습니다. – John

+0

나를 위해, 스크립트 또는 아니오 발생하지 않습니다. – bobince

+0

네가 복사 한 내용에 달려있다. 기사에 가면 제목이 아닌 본문 텍스트로 처리되며, 첫 페이지의 일부 요소만으로도 수행된다. – John

답변

3

Firefox에서 EventBug을 사용하는 경우 copy 이벤트가 발생하는 것을 확인할 수 있습니다. 페이지의 JS가이 이벤트를 듣고 클립 보드 내용을 변경합니다. 그 페이지에 의해로드 된 파일이 너무 많아서 소스 코드를 찾기가 어렵습니다.

+0

okie 나는 바보 같아서, http://www.tynt.com/은 사용하고있는 서비스이며, 내가 복제 할 수없는 것이 있는지 알아봐야 할 것이다. 리드급 응원에 감사드립니다. – John

2

사용이 코드를 복사 한 내용

소스를 추가 텍스트를 추가하려면 : http://bavotasan.com/2010/add-a-copyright-notice-to-copied-text/ 확인

<script type="text/javascript"> 
function addLink() { 
var body_element = document.getElementsByTagName('body')[0]; 
var selection; 
selection = window.getSelection(); 
var pagelink = "<br /><br /> Read more at: <a href='"+document.location.href+"'>"+document.location.href+"</a><br />Copyright &copy; c.bavota"; // change this if you want 
var copytext = selection + pagelink; 
var newdiv = document.createElement('div'); 
newdiv.style.position='absolute'; 
newdiv.style.left='-99999px'; 
body_element.appendChild(newdiv); 
newdiv.innerHTML = copytext; 
selection.selectAllChildren(newdiv); 
window.setTimeout(function() { 
    body_element.removeChild(newdiv); 
},0); 
} 
document.oncopy = addLink; 
</script> 
관련 문제