0 Вопрос: Выделить / скопировать отображаемый текстовый контент webview javafx

вопрос создан в Thu, May 2, 2019 12:00 AM

Я использую редактор HTML для написания форматированного текста. Позже в моей программе я использую веб-просмотр для отображения этого «расширенного текста» Я хочу создать контекстное меню, которое позволяет пользователю выбрать весь текст, отображаемый в веб-просмотре, и скопировать его. Копирование самой строки является проблемой, потому что ее HTML, а не простой текст.

Я пытался реализовать javascript, но я не знаком с этим. Я также попытался использовать конвертер HTML в обычный текст, jSoup. Но когда он преобразует HTML-код, он не переносит табуляции и пробелы правильно.

'' '

    javafx.scene.control.MenuItem selectAll = new  javafx.scene.control.MenuItem("Select all");
    selectAllCode.setOnAction(e ->
    {

         webViewFitContent.getWebview().getEngine()
                .executeScript(" (selectedText() =function () {   " +
               " var range = document.createRange ();" +
               " + range.setStart (window.getSelection.anchorNode, 0);" +
            " + range.setEnd (window.getSelection.focusNode, 0);" +
            "})()");

        e.consume();
    });

'' '

    
0
  1. Как вы загружаете WebEngine? Если у вас уже есть файл, доступный для редактирования, можете ли вы просто сослаться на него, чтобы скопировать его содержимое?
    2019-05-02 18: 50: 09Z
  2. Я попытался использовать сам HTML для копирования. У меня проблема в том, что это в HTML, а не в обычном тексте, который я могу скопировать для использования. Я пытался использовать jSoup для преобразования HTML в простой текст, но он портит формат, пробелы и тому подобное.
    2019-05-02 18: 57: 14Z
  3. Что вы подразумеваете под самим HTML? Как будто вы открываете файл и читаете его строка /строка или байт /байт? Или вы загружаете его в документ и извлекаете содержимое строки. Первое - это то, что вам нужно для поддержания пустого пространства. Ваш вопрос говорит о том, что вы сами редактируете содержимое файла, поэтому у вас должны быть фактические данные файла, используемые для загрузки WebEngine?
    2019-05-02 19: 14: 42Z
  4. если я копирую источник, я получаю что-то вроде < html dir = "ltr" < head > /head > < body contenteditable = "true "> p > sdfs < span style =" font-weight: bold; "> df < /span < /p > p > < span style =" font-weight: bold; цвет: жирный: rgb (204, 51, 51); "sdfsdf" /span "/p; /body" /html > мне нужен простой текст, но с правильным интервалом
    2019-05-02 20: 14: 19Z
0 ответов                              0                         
источник размещен Вот