User:Polygnotus/Scripts/DiffCompare.js

This is an old revision of this page, as edited by Polygnotus (talk | contribs) at 21:43, 8 September 2024 (Created page with ' $.ajax('https://cdnjs.cloudflare.com/ajax/libs/diff-match-patch/20121119/diff_match_patch.min.js', { dataType: 'script', cache: true }).then(function () { function showDiff(text1, text2) { const dmp = new diff_match_patch(); const diffs = dmp.diff_main(text1, text2); dmp.diff_cleanupSemantic(diffs); let html = ''; for (let i = 0; i < diffs.length; i++) { const [op, data] = diffs[i];...'). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
$.ajax('https://cdnjs.cloudflare.com/ajax/libs/diff-match-patch/20121119/diff_match_patch.min.js', {
    dataType: 'script',
    cache: true
}).then(function () {

    function showDiff(text1, text2) {
        const dmp = new diff_match_patch();
        const diffs = dmp.diff_main(text1, text2);
        dmp.diff_cleanupSemantic(diffs);

        let html = '';
        for (let i = 0; i < diffs.length; i++) {
            const [op, data] = diffs[i];
            switch (op) {
                case DIFF_INSERT:
                    html += '<ins style="background-color: #e6ffe6;">' + data + '</ins>';
                    break;
                case DIFF_DELETE:
                    html += '<del style="background-color: #ffe6e6;">' + data + '</del>';
                    break;
                case DIFF_EQUAL:
                    html += '<span>' + data + '</span>';
                    break;
            }
        }
        return html;
    }

    const oldText = "The quick brown fox jumps over the lazy dog.";
    const newText = "The fast brown fox leaps over the lazy cat.";

    const diffHtml = showDiff(oldText, newText);
    
    // You can use the diffHtml as needed, for example:
    // $('#diff-output').html(diffHtml);
    
    console.log('Diff result:', diffHtml);


});