获取Chrome扩展程序中所选链接的网址

时间:2015-04-02 13:02:33

标签: google-chrome-extension

我想在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扩展名

0 个答案:

没有答案