2009-04-14 3 views
0

URL을 가져 오려면 JavaScript 책갈피가 있어야합니다. 클립 보드에서 2 개의 숫자를 구문 분석하고 새 URL을 만들고 페이지 맨 위에 링크를 추가하면 해당 링크가 추가됩니다 내 즐겨 찾기 메뉴에 URL을. 구문 분석하고 클립 보드에서 URL을 추가하십시오.

는 그럼 난이 URL로

javascript:frames['content'].getPoolPageUrl(9800,22713)

을 숫자를 추가 한 다음 프레임 "내용의 상단에 URL을 추가 할 필요가 나는이

http://www.website.com/frontpageeditor.jhtml?sectionID=2844&poolID=6276
javascript:getPoolPageUrl(9800,22713)

등의 URL의이 말 ".

나는 이것에 영원히 노력했다, 그러나 나는 그것을 알아낼 수 없다.



업데이트 내가 뭔가를 함께 넣어했습니다
, 당신을 보여주기 위해 내가 필요. 이 하나는 작동하지 않습니다.

어떤 아이디어가 필요한가요?

var url = window.clipboardData.getData('Text'); 
var reg = /(\d+)/g; 
var matches = url.match(reg); //returns ["2844","6276"] 
var newUrl = "javascript:frames['content'].getPoolPageUrl("+matches[0]+","+matches[1]+")"; 
var link = document.createElement('a'); 
link.src = newUrl; 
frames['content'].document.body.appendChild(link); 



갱신 2
이 작동합니다. 더 나아질 수있는 변경 사항이 있습니까? 좋아

var url = window.clipboardData.getData('text'); 
var matches = url.match(/(\d+)/g); 
var link = frames['content'].document.createElement('a'); 
link.href = "javascript:frames['content'].getPoolPageUrl("+matches[0]+","+matches[1]+")"; 
link.innerHTML = document.title; 
frames['content'].document.body.appendChild(link); 
+0

상기 작업을 수행하려고 시도한 코드를 표시하십시오. 나는 약간의 질문이 너무 불분명하다는 것을 안다. – Cerebrus

답변

5

는, 우선 당신이 자바 스크립트 클립 보드에서 텍스트를 검색 할 수 없습니다 생각, 당신이 할 수있는 경우는 주요 보안 문제가 될 것이 내 생각 엔.

이 함수를 호출 할 수의 당신은 문자열의 클립 보드를 가정 해 봅시다 : 다른 문서에있는 아이에 추가 한 후 하나 개의 문서에서 요소를 생성하고있는

var url = "http://www.website.com/frontpageeditor.jhtml?sectionID=2844&poolID=6276"; //clip 
var reg = /(\d+)/g; 
var matches = url.match(reg); //returns ["2844","6276"] 
var newUrl = "javascript:frames['content'].getPoolPageUrl("+matches[0]+","+matches[1]+")"; 
frames['content'].document.getElementById("linkPlaceHolderWhereYouWantToAdd").href=newUrl; 
+0

네, ** 텍스트를 ** 클립 보드에 복사 할 수는 있지만 OS의 붙여 넣기 기능을 사용하여 검색해야합니다. – Cerebrus

2

. 이것은 작동하지 않습니다. 추가 할 문서에서 요소를 만들어야합니다.

또한 개체는 src 멤버가 없으므로 href를 사용합니다.

예는 :

var link = frames['content'].document.createElement('a'); 
link.href = newUrl; 
link.innerHTML = newUrl; 
frames['content'].document.body.appendChild(link); 

window.clipboardData는 IE 전용 코드입니다, 그러나주의 마십시오.

+0

링크를 맨 아래가 아닌 페이지 상단에 배치하려면 어떻게해야합니까? –

+0

if (document.body.firstChild) { document.body.insertBefore (link, document.body.firstChild) } else { document.body.appendChild (link); } –

+0

고맙습니다.) –

-1

JavaScript는 하나의 이유로 만 클립 보드의 내용에 액세스 할 수 없습니다. 보안.

실수로 신용 카드 번호 나 기타 개인 식별 정보를 클립 보드에 복사하고 악의적 인 웹 사이트를 방문한 경우 클립 보드를 쉽게 잡아 당겨서 서버에 보내어 쉽게 알 수 있습니다 위험. 따라서 브라우저 개발자는 명시 적으로이를 금지합니다.

+0

Jon benedicto가 말한 것과 같습니다. 그것은 IE에서 가능합니다. –

+0

하지만 로컬 영역에서만 맞습니까? 그렇지 않다면 이것은 여전히 ​​눈부신 보안 구멍입니다. – greyfade