2009-04-14 41 views
0

我需要一個JavaScript書籤來取得我在剪貼板中的url解析出2個數字並創建一個新的url,並添加一個鏈接到頁面頂部,點擊時添加網址到我的書籤菜單。解析並添加來自剪貼板的網址

說我有網址的像這些

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

然後,我需要的號碼添加到這個網址

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

,然後將該網址添加到框架「內容的頂部」。

我已經試過這個,但我無法弄清楚它。



更新
我已經把東西在一起,告訴你我所需要的。這一個雖然不起作用。

任何想法爲什麼?

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); 



UPDATE2
這工作。我可以做的任何改變,使其更好?

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 2009-04-14 12:57:13

回答

5

好吧,首先,我認爲你不能檢索剪貼板從Java腳本文字,我的猜測是,如果你能這將是一個重大的安全問題。

讓我們假設你有一個字符串的剪貼板,你可以調用這個函數:

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

是的,我認爲您可以將文本**複製到剪貼板,但您需要使用操作系統的粘貼工具來檢索它。 – Cerebrus 2009-04-14 13:04:23

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

如何將鏈接放置在頁面頂部而不是底部? – 2009-04-14 16:46:31

+0

if(document.body。(鏈接,document.body.firstChild) } 其他{ document.body.appendChild(link); } – 2009-04-14 16:56:02

-1

由於某個原因,JavaScript不允許訪問剪貼板的內容:安全性。

如果您不小心將您的信用卡號碼或其他個人身份信息複製到剪貼板中,並且您訪問了惡意網站,那麼您甚至可以輕鬆地抓取剪貼板並將其發送到服務器,然後才能知道存在風險。所以,瀏覽器開發人員明確禁止它。