| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 
 | <html>
 
 
 
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=10">
    <style type="text/css">
<!-- .editor {
    font-family: tahoma
}
 
 
.actionbar {
    background-color: #c0c0c0;
    border: 1px solid black
}
 
 
.comment {
    border: 2px dotted red
}
 
 
-->
    </style>
    <script>
function backcol(coul, MOD) {
    var sel = window.getSelection();
    var parent = sel.getRangeAt(0).commonAncestorContainer;
    if (parent == "[object Text]") {
        parent = parent.parentNode;
    }
 
 
    var mySelectionhtml = sel.getRangeAt(0).extractContents();
    var oSpan = document.createElement("SPAN");
    oSpan.appendChild(mySelectionhtml);
    var str = oSpan.innerHTML;
    var sp = oSpan.getElementsByTagName("SPAN");
    for (var i = 0; i < sp.length; i++) {
        str = str.replace(sp[i].outerHTML, sp[i].innerHTML);
    }
 
 
    oSpan.innerHTML = str;
 
    var range = sel.getRangeAt(0);
    range.deleteContents();
    range.insertNode(oSpan);
    sel.removeAllRanges(); //on peut carrément supprimer le range 
    sel.addRange(range); // et y ajouter notre range tout propre
 
 
     if (MOD != null) {
        oSpan.style.textShadow = "0px 0px 10px " + coul;
    }
    if (MOD == null) {
        oSpan.style.textShadow = "none";
    }
    //////////////gestion du shadow couleur /none /ou innerHTML//////////////
    var no = false
    var noC=false
    var par = oSpan
    do {
        par = par.parentElement;
       if (par.tagName=="SPAN" && par.style.textShadow== "0px 0px 10px " + coul){  
       noC=true;
       }
        if (par.tagName=="SPAN" && par.style.textShadow!="none"){  
no = true;
        }
    } while (par.tagName != "P");
    if (no == false && MOD == null) {
        oSpan.outerHTML = oSpan.innerHTML;
    }
     if (noC ==true && MOD != null) {
        oSpan.outerHTML = oSpan.innerHTML;
    }
       ///////////////////////////////////////////////////////////
 
 
    ///////////////apres quelques changement on a des balises vides on nettoie ///////// 
    var sp = par.getElementsByTagName("*");
    for (var i = 0; i < sp.length; i++) {
        if (sp[i].innerText == "") {
            sp[i].parentElement.removeChild(sp[i]);
        }
    }
////////////////////////////////////////////////////////////////////
//////////////////////////////////merge same/////////////////////
//
//
//ICI ON DOIT FAIRE LES MERGES
//
//
//
    //////////////////////////////////////////////////////////////////////
    document.getElementById('res').value = document.getElementById('comment').outerHTML;
}
 
 
 
 
 
 
    </script>
</head>
 
 
 
 
<body>
    <div id="comment" class="comment" contenteditable>
 
 
 
 
        <p>
            <font size="5">du texte <font style="background-color: yellow;">tout</font> seul<font style="background-color: rgb(0, 255, 0);"> enfant</font> direct du div</font>
        </p>
 
 
        <p align="">
            <font size="5">teste <font style="text-shadow: 0px 0px 10px blue;"> de</font> <font style="text-shadow: 0px 0px 10px red;">texte</font><font style="text-shadow: 0px 0px 10px green;">shad</font><font style="text-shadow: 0px 0px 10px red;">ow</font> pour testes</font>
        </p>
 
 
        <p>
            <font size="7"> E<font color="#ff0000">XE</font><strong><em>MP</em></strong>LE DE TEXTE</font </p>
 
 
 
 
    </div>
 
 
 
 
    <input type="button" value="backblue" onclick="backcol('blue',true)" />
    <input type="button" value="backgreen" onclick="backcol('green',true)" />
    <input type="button" value="backRED" onclick="backcol('red',true)" />
    <input type="button" value="backmagenta" onclick="backcol('magenta',true)" />
    <input type="button" value="NONE" onclick="backcol(false,null)" />
    </br>
    <textarea id="res" rows="15" cols="100">
</textarea>
</body> |