我想在Chrome扩展程序中获取所选链接的网址(检测所选文字中的链接并给我网址)
我在background.js中获取所选文本的代码是:
function SetLinks(info, tab) {
alert(info.selectionText);
}
我的扩展程序必须获取所选文本的网址(检测所选文字中的链接),我该怎么办?
扩展如何工作:用户在浏览器中突出显示文本,当他点击上下文菜单中的选项时,我的扩展程序必须检测链接,并为用户提供URL
我试图在javascript中使用此代码选择DOM:
function getHTMLOfSelection() {
function getHTMLOfSelection () {
var range;
if (document.selection && document.selection.createRange) {
range = document.selection.createRange();
return range.htmlText;
}
else if (window.getSelection) {
var selection = window.getSelection();
if (selection.rangeCount > 0) {
range = selection.getRangeAt(0);
var clonedSelection = range.cloneContents();
var div = document.createElement('div');
div.appendChild(clonedSelection);
return div.innerHTML;
}
else {
return '';
}
}
else {
return '';
}
}
}
但问题是selection.rangeCount
它会返回0
在为测试函数而创建的html文件中,它工作正常。但不是在chrome扩展名