我正在尝试获得用户在网站上所做的选择。我使用了this window.getSelection()
函数,它返回用户突出显示(选择)的部分。使用chrome扩展程序时,我认为弹出窗口是它自己的窗口,并且弄清楚了如何访问主窗口而不是弹出窗口。 (在代码中看到)我遇到的问题是,一旦我访问活动标签,功能window.getSelection()
就无法使用。
chrome.tabs.query({active: true, currentWindow: true}, (tabs) => {
//console.log(tabs[0])
let tabIndex = tabs[0].index
currentURL = tabs[0].url
chrome.windows.getCurrent({populate: true, windowTypes:["normal"]}, (window) => {
console.log(window.getSelection())
console.log(window.tabs[tabIndex])
console.log(window instanceof Window)
highlightSelection = window.getSelection();
if(highlightSelection === undefined) {
alert("You have not highlighted anything!");
}
})
})
我不断获得变量undefined
的{{1}}。该函数应该将窗口对象作为参数放置在回调中,但事实并非如此。您可以找到getCurrent函数文档here。这是关于无法访问getSelection()的错误:
highlightSelection