Может кто-нибудь сказать мне, почему я не могу получить строку для выделенного текста на любой странице, используя windows.getSelection (). ToString ()?
Сценарий работает в фоновом режиме, хотя я назвал его popup.js.
Все, что я могу найти, показывает изменение этого, но в моем коде это всегда возвращает нуль.Я вызываю window.getSelection () при нажатии комбинации клавиш.Текст определенно выделен, но результат всегда равен нулю.
manifest.json
{
"name": "CM_TextDiff",
"version": "1.0",
"manifest_version": 2,
"description": "Highlight changes in two lines of text. Useful to language teachers to highlight corrections.",
"icons": {
"128": "compare128.png"
},
"background": {
"scripts": [
"popup.js"
]
},
"browser_action": {
"default_title": "highlight your corrections",
"default_popup": "popup.html"
},
"permissions": [
"tabs",
"activeTab",
"http://*/*",
"https://*/*",
"clipboardRead",
"clipboardWrite",
"contextMenus"
],
popup.js
chrome.commands.onCommand.addListener(function(command) {
console.log('Command:', command);
getSelectedText();
});
function getSelectedText(){
alert ("The text content of the selection:\n" + window.getSelection().toString ());
}
Я ожидаю, что это отобразит всплывающее окно с текстом, выделенным на странице.Тем не менее, результатом всегда является нулевая строка.