Javascript 获取当前选项卡选择HTML
我正在构建一个chrome扩展,我需要在background.HTML中读取当前选择的HTML代码 我可以从background.html获取文本选择:Javascript 获取当前选项卡选择HTML,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在构建一个chrome扩展,我需要在background.HTML中读取当前选择的HTML代码 我可以从background.html获取文本选择: function(info,tab) { var text = info.selectionText; } 但是我需要HTML代码。从background.html内部,我尝试了: var selection = window.getSelection(); var range = selection.getRangeAt(0); v
function(info,tab) {
var text = info.selectionText;
}
但是我需要HTML代码。从background.html内部,我尝试了:
var selection = window.getSelection();
var range = selection.getRangeAt(0);
var container = range.commonAncestorContainer;
var html = container.innerHTML
但我相信我无法从背景内部访问窗口对象
我确实读过SpikeX post:但找不到他所指的源代码
谢谢
M我曾经为Opera编写过一个用户JavaScript,其灵感来自Mozila/Firefox的“视图选择源”功能 编辑:
现在当我读到你链接的问题时,我意识到我实际上也写了答案中提到的第一个Chrome扩展。它也是基于这个脚本。然而,它停止了一些Chrome更新的工作,我从来没有研究过这个问题。不过,它应该很容易修复。您可以使用chrome.tabs.executeScript访问html内容。请参见谢谢jkbr-我阅读了代码,我想我的问题在这方面:var sel=findSelection(window)。。。我尝试包含上述内容的任何内容都不会在background.html上返回任何内容。我相信这是我的问题,我无法从background.html页面获取window.getSelection()-一旦我知道如何使用范围获取html..感谢anfilat,我做到了,并且成功了(从后台页面注入JS),基本上我必须添加一个侦听器,然后注入脚本:chrome.extension.onRequest.addListener(onSelection);chrome.tabs.executeScript(null,{file:“content.js”,allFrames:true});