Как сохранить формат при получении текста из контекстного меню Chrome? - PullRequest
1 голос
/ 26 июня 2019

Я пишу расширение Chrome, которое позволяет пользователю сохранять текстовый фрагмент в свою учетную запись (на сайте Python / Flask).Пользовательский поток ...

  1. Пользователь выделяет текст, который он хочет сохранить
  2. Щелкните правой кнопкой мыши и выберите действие, которое я добавил в контекстное меню Chrome
  3. Всплывающее окноПоявится окно с выделенным текстом в текстовой области в форме.Пользователь может вносить окончательные изменения и сохранять в своей учетной записи.

Проблема заключается в том, что форматирование не сохраняется при отображении в текстовой области.(Все отображается в одной строке)

У меня была эта проблема на моем бэкэнде Python, но я решил ее с помощью repr ().Я искал эквивалент JS, но не повезло.

//eventPage.js
var contextMenuItem = {
    "id": "grabText",
    "title": "Save text",
    "contexts": ["selection"]
};

chrome.contextMenus.create(contextMenuItem);

chrome.contextMenus.onClicked.addListener(function(clickData){
    if (clickData.menuItemId == "grabText" && clickData.selectionText){

        chrome.storage.local.set({snippet: clickData.selectionText}, function(){});
        chrome.windows.create({type: 'popup', focused: true, url: '/submitSnippet.html'}, function(){});

    }
})
//submitSnippet.js
  ...
$('#SnippetEntry').val(result.snippet);
  ...
submitSnippet.html
  ...



  ...

...

При переходе через 1-3 выше с:

The White House 1600 Pennsylvania Avenue NW Washington, DC 20500

Все идет в одну строку.The White House 1600 Pennsylvania Avenue NW Washington, DC 20500

Копирование-вставка непосредственно в мою текстовую область сохраняет разрывы строк.Могу ли я что-то сделать в своем JS, чтобы сохранить форматирование при использовании clickData.selectionText?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...