Я работаю над программой OS X, где пользователь делает небольшое WYSIWYG-редактирование HTML в WebView. Будучи новичком в программировании с Cocoa и WebKit, я абсолютно не знаю, как получить выделенный текст из WebView - намерение взять то, что выбрал пользователь, добавить HTML-код (например, div или span) вокруг текста и заменить выбранный текст с измененным кодом. Как это можно сделать?Получение исходного HTML-кода из WebView в Cocoa
Я в настоящее время программирую этот проект с помощью MacRuby, но я был бы признателен за помощь программистов Objective-C. Спасибо!
Мне не нравится спрашивать что-то, что, вероятно, имеет очевидный ответ для всех, но если бы я захотел заменить разметку + выбранной разметкой + , как бы я это сделал? Все, кажется, указывают мне, что выбранная разметка будет уничтожена. –
Вам необходимо использовать объект DOMRange, который передается вам, и использовать его методы/свойства для проверки выбранного контента. HTML-документ - это не просто строка, DOM может быть изменена динамически, поэтому вы должны выполнить эту работу, чтобы убедиться, что вы заменяете выделенный контент на допустимую разметку. WebKit определяет метод DOMRange '-markupString', но, к сожалению, это, вероятно, не даст вам то, что вам нужно. Вероятно, вы должны создать правильную структуру DOMNode и вставить ее, возможно, с другим диапазоном, полученным от WebView. –