Sto lavorando a un programma OS X in cui l'utente esegue una leggera modifica HTML WYSIWYG in una WebView. Essendo nuovo alla programmazione con Cocoa e WebKit, non ho assolutamente idea di come ottenere il testo selezionato da una WebView - l'intenzione è di prendere ciò che l'utente ha selezionato, aggiungere codice HTML (come div's o span's) attorno al testo e sostituire il selezionato testo con il codice modificato. Come può essere realizzato?Ottenere l'HTML di origine da una WebView in Cocoa
Attualmente sto programmando questo progetto con MacRuby, ma apprezzerei anche l'aiuto dei programmatori Objective-C. Grazie!
Odio chiedere qualcosa che probabilmente ha una risposta ovvia a tutti gli altri, ma se volessi sostituire il markup con + il markup selezionato + , come dovrei farlo? Tutti sembrano indicarmi che il markup selezionato sarà distrutto. –
È necessario utilizzare l'oggetto 'DOMRange' che viene restituito all'utente e utilizzare i relativi metodi/proprietà per ispezionare il contenuto selezionato. Un documento HTML non è solo una stringa, il DOM può essere stato modificato dinamicamente, quindi devi fare il lavoro per assicurarti di sostituire il contenuto selezionato con un markup valido. WebKit definisce il metodo '-markupString' di DOMRange, ma sfortunatamente questo probabilmente non ti darà quello che ti serve. Probabilmente dovresti costruire una struttura DOMNode valida e inserirla, possibilmente con un intervallo diverso da quello che hai ricevuto da WebView. –