Небольшая проблема при разработке расширения хром. Цель проста, и я знаю, что есть существующая должность по этому вопросу, но все, что я нашел, не сработало для меня. Похоже, что работает в обычном скрипте (html/js) не работает в расширении chrome.JS - Chrome Extension - Получение выбора
Я пытаюсь сделать простое расширение, которое при щелчке по его значку получит выбор (по крайней мере, текст, если возможно, более подробную информацию), но каким-то образом он не работает. Я получаю элемент выбора, но он имеет пустой выбор.
Вот код. manifest.json
{
"manifest_version": 2,
"name": "Paster",
"description": "Bla",
"version": "1.0",
"browser_action": {
"default_icon": "camera.png",
"default_title": "Bla"
},
"background": {
"page": "background.html"
},
"permissions": [
"tabs",
"activeTab",
"https://ajax.googleapis.com/",
"clipboardRead",
"clipboardWrite"
]
}
background.html
<textarea id="temp_textarea_draft_paster"></textarea>
<div>BLA BLA BLA</div>
<script src="jquery-3.1.1.min.js"></script>
<script src="background.js"></script>
background.js
chrome.browserAction.onClicked.addListener(function() {
getSelectionText()
});
getSelectionText = function (info, tab) {
selection = window.getSelection();
console.log(selection);
alert('yeah' + selection);
};
Если я открываю консоль Dev из background.html я получаю console.log, но с пустой выбор, независимо от того, что я выбрал. Предупреждение появляется, но только с «да».
Если я перейду на страницу chrome-extensions: //ext-id/background.html и выберите там текст и нажмите кнопку, он будет работать с выбором, включая его данные ... Как получилось? Похоже, что расширение не получает выбор из вкладок, только со страницы background.html.
См. этот http://stackoverflow.com/questions/12424631/get-selected-text-in-a-chrome-extension, который реализован с использованием 'chrome contextMenu api' – nivas
Прочтите документы. https://developer.chrome.com/extensions/overview#arch –
Я бы предположил, что вы прочитали [Обзор расширения Chrome] (https://developer.chrome.com/extensions/overview) (и, возможно, вместе со страницами связанный с обзором). [раздел архитектуры] (https://developer.ch rome.com/extensions/overview#arch) имеет общую информацию об архитектуре, которая должна помочь вам понять, как вообще организовано/сделано. Возможно, вам также захочется прочитать [Сценарии контента] (https://developer.chrome.com/extensions/content_scripts) и [Передача сообщений] (https://developer.chrome.com/extensions/messaging). – Makyen