2010-03-08 6 views
13

몇 가지 사이트를 보았습니다. 기사의 텍스트를 강조 표시하고 복사 한 다음 붙여 넣으면 더 많은 텍스트를 추가 할 수 있습니다.웹 사이트에서 복사/붙여 넣기 할 때 클립 보드 데이터 편집

http://belfasttelegraph.co.uk/에있는 기사에서 텍스트 섹션을 복사하여 붙여 넣으십시오. 그러면 붙여 넣은 텍스트의 원본 기사에 대한 링크가 추가됩니다.

어떻게 처리하나요? 여기에 직장에서 자바 스크립트가 있다고 가정합니다.

+1

흥미 롭습니다. 나는 모든 사이트를 방지하는 방법을 알아 내기 위해 최선의 노력을 기울였습니다. 조금씩 사용하십시오. – Ricky

답변

8

이 좋은 효과, 당신은 Firefox의 방화범을 사용하여 복사본에서 발사 된 스크립트를 볼 수 있습니다.

Firebug를 시작하고 페이지를로드하고, 페이지가 매우 많은 아약스를 사용하기 때문에 (매우 빠르게 100 개의 요청이 있기 때문에) 선택하십시오. 그런 다음 '모두'탭을 선택하고 복사를 시도하십시오. 1x1 픽셀 이미지에 대한 요청이 표시되지만 세부 정보를보기 위해 + 버튼을 누르면 '매개 변수'탭에서이 GET 요청이 요청한 텍스트를 '콘텐츠'매개 변수로 전달하고 일부는 클립 보드 DOM을 조작하는 데 사용됩니다 XPath는 정보 : @Crimson으로

start_node_xpath /HTML/BODY[@id='belfast']/DIV[@id='root']/DIV[@id='content']/DIV[@id='mainColumn']/DIV[@id='article']/DIV[5]/P[39]/text() 

end_node_xpath /HTML/BODY[@id='belfast']/DIV[@id='root']/DIV[@id='content']/DIV[@id='mainColumn']/DIV[@id='article']/DIV[5]/P[41]/text() 

클립 보드, 플래시 및 이미지를 사용 like zeroclipboard를 조작하는 방법이 있습니다 지적했다.

이미지 가져 오기 요청을 사용하여 기술을 수행하는 방법은 클립 보드를 변경하는 방법입니다.

+0

내가 길을 따라 -1을 집어 들었을 까? – amelvin

+1

+1 파이어 버그 사용에 대한 설명. –

3

마우스 오른쪽 버튼 클릭 메뉴에서 텍스트를 강조 표시하고 복사를 선택한 경우가 아니라 [Ctrl + C] 키 조합을 사용할 때만 나타납니다.

[Ctrl + C] 키 입력을 트래핑하는 것입니다.

는 또한,이 게시물에서 살펴보고, 클립 보드에 데이터를 추가합니다 : How do I copy to the clipboard in JavaScript?

+0

동의하지 마십시오. 저는 XP/Firefox 3.5.8을 사용하고 있습니다. 강조 표시 한 경우 마우스 오른쪽 버튼을 클릭하고 복사를 선택하여 복사 한 텍스트에 영구 링크를 추가합니다. – amelvin

1

나는 최근에 웹 사이트에서이 "클립 보드 하이재킹"이 유입 된 것을 알아 챘습니다. thefutoncritic.com, cracked.com ... Adblock을 사용하는 경우 "수동 항목"목록으로 이동하여 * post-copypaste.js *을 추가하십시오. 이렇게하면 사이트가 클립 보드에 광고를 추가하지 못하게됩니다.

0

뉴스 사이트 내가 사용이 방문 복사 된 선택 항목에 "소스"를 추가하는 기능 :

function addLink() { 
    var body_element = document.getElementsByTagName('body')[0]; 
    var selection; 
    selection = window.getSelection(); 
    // change this if you want 
    var pagelink = "<br><br>Fuente: Emol.com - <a href='"+document.location.href+"'>"+document.location.href+"</a><br>"; 
    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;