Diff
checker
Texte
Texte
Images
Documents
Excel
Dossiers
Legal
Enterprise
Application de bureau
Prix
Se connecter
Télécharger Diffchecker Desktop
Comparer le texte
Trouver la différence entre deux fichiers texte
Outils
Historique
Éditeur live
Cacher identiques
Sans retour à la ligne
Vue
Divisé
Unifié
Niveau de précision
Intelligent
Mot
Caractère
Coloration syntaxique
Choisir la syntaxe
Ignorer
Transformer le texte
Aller au premier écart
Modifier l'entrée
Diffchecker Desktop
La façon la plus sécurisée d'utiliser Diffchecker. Obtenez l'application Diffchecker Desktop : vos diffs ne quittent jamais votre ordinateur !
Obtenir Desktop
Untitled diff
Créé
il y a 11 ans
Le diff n'expire jamais
Effacer
Exporter
Partager
Expliquer
1 suppression
Lignes
Total
Supprimé
Caractères
Total
Supprimé
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
39 lignes
Copier tout
53 ajouts
Lignes
Total
Ajouté
Caractères
Total
Ajouté
Pour continuer à utiliser cette fonctionnalité, passez à
Diff
checker
Pro
Voir les prix
90 lignes
Copier tout
Copier
Copié
Copier
Copié
function blink() {
document.getElementById('caret').hidden ^= 1;
blinkTimeout = setTimeout(blink, 500);
}
var mydiv = document.getElementById('mydiv'),
var mydiv = document.getElementById('mydiv'),
Copier
Copié
Copier
Copié
myta = document.getElementById('myta')
;
myta = document.getElementById('myta')
,
blinkTimeout = setTimeout(blink, 500),
lastSelectionStart = 0,
lastSelectionEnd = 0,
whichSelection = true;
function updateDiv() {
function updateDiv() {
var fc;
var fc;
while (fc = mydiv.firstChild) mydiv.removeChild(fc);
while (fc = mydiv.firstChild) mydiv.removeChild(fc);
Copier
Copié
Copier
Copié
if (myta.selectionStart != lastSelectionStart) {
lastSelectionStart = myta.selectionStart;
whichSelection = false;
}
if (myta.selectionEnd != lastSelectionEnd) {
lastSelectionEnd = myta.selectionEnd;
whichSelection = true;
}
var cursorPos = whichSelection ? myta.selectionEnd : myta.selectionStart;
for (var i = 0; i < myta.value.length; i++) {
for (var i = 0; i < myta.value.length; i++) {
Copier
Copié
Copier
Copié
if (i == cursorPos) {
var caret = document.createElement('span');
caret.id = 'caret';
caret.appendChild(document.createTextNode('\xA0'));
mydiv.appendChild(caret);
clearTimeout(blinkTimeout);
blinkTimeout = setTimeout(blink, 500);
}
var span = document.createElement('span');
var span = document.createElement('span');
span.className = Math.random() < 0.5 ? 'green' : 'red';
span.className = Math.random() < 0.5 ? 'green' : 'red';
span.appendChild(document.createTextNode(myta.value[i]));
span.appendChild(document.createTextNode(myta.value[i]));
mydiv.appendChild(span);
mydiv.appendChild(span);
}
}
Copier
Copié
Copier
Copié
if (myta.value.length == cursorPos) {
var caret = document.createElement('span');
caret.id = 'caret';
caret.appendChild(document.createTextNode('\xA0'));
mydiv.appendChild(caret);
clearTimeout(blinkTimeout);
blinkTimeout = setTimeout(blink, 500);
}
};
};
myta.addEventListener('input', updateDiv);
myta.addEventListener('input', updateDiv);
Copier
Copié
Copier
Copié
myta.addEventListener('focus', updateDiv);
myta.addEventListener('mousedown', function() {
setTimeout(updateDiv, 0);
});
myta.addEventListener('keydown', function() {
setTimeout(updateDiv, 0);
});
myta.addEventListener('blur', function() {
document.getElementById('caret').hidden = true;
clearTimeout(blinkTimeout);
});
body { position: relative }
body { position: relative }
div, textarea {
div, textarea {
-webkit-text-size-adjust: none;
-webkit-text-size-adjust: none;
width: 100%;
width: 100%;
white-space: pre-wrap;
white-space: pre-wrap;
word-wrap: break-word;
word-wrap: break-word;
overflow-wrap: break-word;
overflow-wrap: break-word;
font: 1rem sans-serif;
font: 1rem sans-serif;
padding: 2px;
padding: 2px;
margin: 0;
margin: 0;
border-radius: 0;
border-radius: 0;
border: 1px solid #000;
border: 1px solid #000;
resize: none;
resize: none;
}
}
textarea {
textarea {
position: absolute;
position: absolute;
top: 0;
top: 0;
color: transparent;
color: transparent;
background: transparent;
background: transparent;
}
}
.red { color: #f00 }
.red { color: #f00 }
.green { color: #0f0 }
.green { color: #0f0 }
Copier
Copié
Copier
Copié
#caret {
display: inline-block;
position: absolute;
width: 1px;
background: #000;
}
#caret[hidden] { display: none }
Copier
Copié
Copier
Copié
<div id="mydiv"
></div>
<div id="mydiv"
><span id="caret"> </span
></div>
<textarea id="myta" autofocus=""></textarea>
<textarea id="myta" autofocus=""></textarea>
Différences enregistrées
Texte d'origine
Ouvrir un fichier
var mydiv = document.getElementById('mydiv'), myta = document.getElementById('myta'); function updateDiv() { var fc; while (fc = mydiv.firstChild) mydiv.removeChild(fc); for (var i = 0; i < myta.value.length; i++) { var span = document.createElement('span'); span.className = Math.random() < 0.5 ? 'green' : 'red'; span.appendChild(document.createTextNode(myta.value[i])); mydiv.appendChild(span); } }; myta.addEventListener('input', updateDiv); body { position: relative } div, textarea { -webkit-text-size-adjust: none; width: 100%; white-space: pre-wrap; word-wrap: break-word; overflow-wrap: break-word; font: 1rem sans-serif; padding: 2px; margin: 0; border-radius: 0; border: 1px solid #000; resize: none; } textarea { position: absolute; top: 0; color: transparent; background: transparent; } .red { color: #f00 } .green { color: #0f0 } <div id="mydiv"></div> <textarea id="myta" autofocus=""></textarea>
Texte modifié
Ouvrir un fichier
function blink() { document.getElementById('caret').hidden ^= 1; blinkTimeout = setTimeout(blink, 500); } var mydiv = document.getElementById('mydiv'), myta = document.getElementById('myta'), blinkTimeout = setTimeout(blink, 500), lastSelectionStart = 0, lastSelectionEnd = 0, whichSelection = true; function updateDiv() { var fc; while (fc = mydiv.firstChild) mydiv.removeChild(fc); if (myta.selectionStart != lastSelectionStart) { lastSelectionStart = myta.selectionStart; whichSelection = false; } if (myta.selectionEnd != lastSelectionEnd) { lastSelectionEnd = myta.selectionEnd; whichSelection = true; } var cursorPos = whichSelection ? myta.selectionEnd : myta.selectionStart; for (var i = 0; i < myta.value.length; i++) { if (i == cursorPos) { var caret = document.createElement('span'); caret.id = 'caret'; caret.appendChild(document.createTextNode('\xA0')); mydiv.appendChild(caret); clearTimeout(blinkTimeout); blinkTimeout = setTimeout(blink, 500); } var span = document.createElement('span'); span.className = Math.random() < 0.5 ? 'green' : 'red'; span.appendChild(document.createTextNode(myta.value[i])); mydiv.appendChild(span); } if (myta.value.length == cursorPos) { var caret = document.createElement('span'); caret.id = 'caret'; caret.appendChild(document.createTextNode('\xA0')); mydiv.appendChild(caret); clearTimeout(blinkTimeout); blinkTimeout = setTimeout(blink, 500); } }; myta.addEventListener('input', updateDiv); myta.addEventListener('focus', updateDiv); myta.addEventListener('mousedown', function() { setTimeout(updateDiv, 0); }); myta.addEventListener('keydown', function() { setTimeout(updateDiv, 0); }); myta.addEventListener('blur', function() { document.getElementById('caret').hidden = true; clearTimeout(blinkTimeout); }); body { position: relative } div, textarea { -webkit-text-size-adjust: none; width: 100%; white-space: pre-wrap; word-wrap: break-word; overflow-wrap: break-word; font: 1rem sans-serif; padding: 2px; margin: 0; border-radius: 0; border: 1px solid #000; resize: none; } textarea { position: absolute; top: 0; color: transparent; background: transparent; } .red { color: #f00 } .green { color: #0f0 } #caret { display: inline-block; position: absolute; width: 1px; background: #000; } #caret[hidden] { display: none } <div id="mydiv"><span id="caret"> </span></div> <textarea id="myta" autofocus=""></textarea>
Trouver la différence