mark example div change javascript diff

example - Utilidad de diff basada en JavaScript



jquery highlight text (10)

Consulte la biblioteca de wikEd diff JavaScript. También hay una herramienta en línea .

wikEd diff presenta comparaciones de texto en línea con resaltado de movimiento de bloque y resolución de carácter / palabra. Está optimizado para texto fuente de Wikipedia, pero funciona muy bien para cualquier tipo de texto o código. El código de la biblioteca es totalmente personalizable, tiene soporte Unicode, se comenta ampliamente y es de dominio público.

Estoy buscando un equivalente de diferencia escrito en JavaScript que solo devuelve / imprime líneas relevantes. No quiero que el texto completo se muestre uno junto al otro con las diferencias resaltadas, sino que solo quiero las diferencias reales (además de algunas líneas de almacenamiento intermedio para saber dónde está la diferencia), similar al resultado de la utilidad de diferencias de Linux.

¿Alguien sabe una función de JavaScript que hace esto? Todas las diferencias deben ser reconocidas (incluso espacios en blanco modificados). Gracias.



No sé mucho sobre la utilidad diff en Linux o Linux en general, pero esto podría ser lo que estás buscando jsdifflib . Puedes encontrar un ejemplo en vivo allí y ver si te funciona.


Reconstruí completamente la utilidad jsdifflib para velocidad. Como mi versión no requiere acceso DOM, al menos 4.5 veces más rápido, también se extiende para resaltar las diferencias de caracteres en cada línea.

http://prettydiff.com/diffview.js

Puede probar esto con la herramienta en línea directamente en http://prettydiff.com/




Tengo una vieja pregunta que sé, pero si su nodo activo funciona o quiere algo que sea compatible con el módulo requirejs / commonjs

Me gustó mucho https://www.npmjs.com/package/diff

console.log(diff.createPatch(''some file name.txt'', expected, actual));


jsdifflib en modo jsdifflib línea, intente ajustar el tamaño del contexto para mostrar solo la ventana de cambio que desee. Hay una demostración here


jsdifflib parece prometedor: prueba la demostración vinculada desde esa página.


  • Mergely merece la pena echarle un vistazo. CodeMirror, solo del lado del cliente.
  • Luego está la CodeMirror que requiere un cálculo de diff en el lado del servidor.
  • jsdifflib y http://prettydiff.com/ como se menciona en otras respuestas.