¿Existe una forma de navegador cruzado para obtener HTML del texto seleccionado?HTML del texto seleccionado
Respuesta
Esta función hará en todos los principales navegadores: [. Conseguir texto seleccionado en un navegador, multiplataforma]
function getSelectionHtml() {
var html = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
} else if (typeof document.selection != "undefined") {
if (document.selection.type == "Text") {
html = document.selection.createRange().htmlText;
}
}
return html;
}
// bind events for selection
document.addEventListener('mouseup', function(){
var selectedHTML = getSelectionHtml();
if(selectedHTML)
console.log(selectedHTML)
});
document.addEventListener('keyup', function(e){
var selectedHTML, key = e.keyCode || e.which;
if(key == 16){ // if "shift" key was released
selectedHTML = getSelectionHtml();
if(selectedHTML)
console.log(selectedHTML)
}
});
<ul contenteditable>
<li><p>Select <b>this</b> <em>text</em> right <i>here</i></p></li>
<li>Or <b>this text</b></li>
</ul>
El problema de esta solución es que cuando se selecciona la parte de enganche de las tapas de
primer texto del párrafo A SER
texto seleccionado segundo párrafo
de que no te espera" queSER SELECCIONADO "pero"
TEXTO A
SELECCIONE
- por alguna razón etiquetas de anuncios del navegador que no están en la selección para cerrar las que están. ¿Hay alguna manera de obtener solo lo que realmente está en la selección? – honzzzUn documento HTML es fundamentalmente un árbol de nodos. Una vez que el texto HTML inicial ha sido analizado, esencialmente se ha ido y usted tiene que tratar en los nodos. Sería posible (pero relativamente complicado) convertir la selección en el tipo de cadena que sugiere, pero no hay garantía de que coincida con el texto HTML original, que es solo una de las muchas formas igualmente válidas de representar el documento. –
Funciona para mí gracias !! También me dio una idea ... –
- 1. HTML seleccionado = "seleccionado" no funciona
- 2. ¿Cómo cambiar el color del texto seleccionado?
- 3. window.getSelection() me da el texto seleccionado, pero quiero el HTML
- 4. Borrar texto seleccionado ComboBox
- 5. html opción seleccionado selecto
- 6. cómo obtengo las coordenadas del texto seleccionado en un html usando javascript document.getSelecttion()
- 7. Obtener texto seleccionado en un cuadro de texto
- 8. obteniendo el offset del elemento html seleccionado relacionado con el código fuente html con js
- 9. GEdit - highlight starting tag - tag final del HTML seleccionado?
- 10. Obtener el texto resaltado/seleccionado
- 11. Deseleccionar texto seleccionado en JTextPane
- 12. Automatización de UI "Texto seleccionado"
- 13. ¿Cómo busco el texto seleccionado?
- 14. Tomar texto SELECCIONADO en UITextView
- 15. jQuery establecer el texto seleccionado
- 16. ¿Cómo cambiar el color del texto seleccionado en Internet Explorer?
- 17. Seguimiento del texto seleccionado en la vista web de Android
- 18. Cómo extraer el texto del elemento seleccionado en la listaVer
- 19. Ordenar texto seleccionado del menú contextual de Visual Studio
- 20. de Desarrollo del iPhone: Asir texto seleccionado/resaltado en UIWebView
- 21. Recuperando el texto seleccionado del control Webbrowser en .net (C#)
- 22. ¿Cómo obtengo el texto del nodo seleccionado actualmente en jstree?
- 23. .Cambiar get(): valor de texto seleccionado
- 24. Reemplazar el texto seleccionado con jquery/javascript
- 25. Eliminar texto del documento HTML con Ruby
- 26. ocultar parte del texto html, css, javascript
- 27. Cambio del color de resaltado cuando se selecciona texto en una entrada de texto HTML
- 28. Conseguir contenido HTML seleccionado en el editor TinyMCE
- 29. Guardar texto seleccionado (línea parcial) de Vim
- 30. contenteditable texto seleccionado guardar y restaurar
posible duplicado de (http://stackoverflow.com/questions/10478/getting-selected-text-in-a-browser-cross-platform) – Sarfraz
Ninguna de las respuestas a esa pregunta es muy buena, y es una pregunta diferente: solicita el texto seleccionado, no el HTML de el texto seleccionado. –
Ya respondieron en SO http://stackoverflow.com/questions/10478/getting-selected-text-in-a-browser-cross-platform – wiifm