Это не только для расширения Google Chrome, но и для JavaScript
Я пишу расширение Chrome, в котором при выделении текста и отображении контекстного меню я отображаю свой элементв контекстном меню, которое при нажатии должно обработать выделенный текст
после вызова контекстного меню и выбора моей опции, я получаю пустой объект со всеми значениями нулей и нулей
, поэтому я хочу реализовать некоторыемеханизм, который буферизует выделение текста, как только пользователь отпускает мышь после выделения текста, так что событие может сработать, и, если что-то сработает, я могу сделать копию выделенного текста в глобальной переменной и обработать ее позже
window.getSelected () работает нормально, когда я тестировал с отдельным кодом тестирования, но при использовании с моим расширением, когда я вызываю контекстное меню, я не смог получить фактический выделенный текст
выделенный текст какя вижу в документации будет текст и HTML
предложения пласе ...
Здесь я вставил то, что я делаю.когда я нажимаю «Сохранить в напоминание слова», я получаю пустую строку
, и вот остаток кода
<script>
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
switch(request.message)
{
case 'getSelection':
sendResponse({data: window.getSelection().toString()});
break;
case 'createMenu':
seecon();
break;
default:
sendResponse({data: 'Invalid arguments'});
break;
}
});
function conOnClick(info,tab)
{
/*
chrome.extension.sendRequest(tab.id, {method: 'getSelection'}, function(response){
alert(response.data);
});
*/
}
//function seecon()
{
var contexts = ["selection"];
for (var i = 0; i < contexts.length; i++) {
var context = contexts[i];
var title = "Save to Word Reminder";
var id = chrome.contextMenus.create({"title": title, "contexts":[context],
"onclick": conOnClick});
}
}
</script>