Javascript 从剪贴板解析并添加url

Javascript 从剪贴板解析并添加url,javascript,regex,url,parsing,bookmarklet,Javascript,Regex,Url,Parsing,Bookmarklet,我需要一个javascript书签来获取剪贴板中的url解析出2个数字并创建一个新的url,并在页面顶部添加一个链接,当单击该链接时,会将url添加到我的书签菜单中 假设我有像这样的url http://www.website.com/frontpageeditor.jhtml?sectionID=2844&poolID=6276 更新2 这很有效。我能做些什么改变让它变得更好 var url = window.clipboardData.getData('text'); var matche

我需要一个javascript书签来获取剪贴板中的url解析出2个数字并创建一个新的url,并在页面顶部添加一个链接,当单击该链接时,会将url添加到我的书签菜单中

假设我有像这样的url

http://www.website.com/frontpageeditor.jhtml?sectionID=2844&poolID=6276

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

好的,首先,我认为您无法从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;

好的,首先,我认为您无法从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;

您在一个文档中创建元素,然后将其附加到另一个文档中的子元素。这不管用。您需要在要将其添加到的文档中创建元素

此外,a对象没有src成员,它使用href

例如:


但是请注意,window.clipboardData是IE特定的代码。

您正在一个文档中创建元素,然后将其附加到另一个文档中的子元素。这不管用。您需要在要将其添加到的文档中创建元素

此外,a对象没有src成员,它使用href

例如:


但是请注意,window.clipboardData是IE特定的代码。

JavaScript不允许访问剪贴板的内容,原因只有一个:安全性


如果您不小心将信用卡号或其他个人识别信息复制到剪贴板中,并且访问了恶意网站,那么它很容易抓起您的剪贴板,并在您知道存在风险之前将其发送到服务器。因此,浏览器开发人员明确禁止它。

JavaScript不允许访问剪贴板的内容,原因只有一个:安全性


如果您不小心将信用卡号或其他个人识别信息复制到剪贴板中,并且访问了恶意网站,那么它很容易抓起您的剪贴板,并在您知道存在风险之前将其发送到服务器。因此,浏览器开发人员明确禁止它。

向我们展示您试图完成上述任务的代码。我发现这个问题也有点不清楚。向我们展示您试图完成上述任务的代码。我发现这个问题也有点不清楚。是的,我认为你可以将文本复制到剪贴板,但你需要使用操作系统的粘贴功能来检索它。是的,我认为你可以将文本复制到剪贴板,但你需要使用操作系统的粘贴功能来检索它。我如何将链接放在页面顶部而不是底部?如果(document.body.firstChild){document.body.insertBefore(link,document.body.firstChild)}else{document.body.appendChild(link);}如何将链接放在页面顶部而不是底部?if(document.body.firstChild){document.body.insertBefore(link,document.body.firstChild)}els{document.body.appendChild(链接);}就像乔恩·本尼迪克托说的。这在IE中是可能的。但只有在本地区,对吗?如果不是,这仍然是一个明显的安全漏洞。就像乔恩·本尼迪克托说的。这在IE中是可能的。但只有在本地区,对吗?如果不是,这仍然是一个明显的安全漏洞。
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);
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;
var link = frames['content'].document.createElement('a');
link.href = newUrl;
link.innerHTML = newUrl;
frames['content'].document.body.appendChild(link);