CreateTextRange ne fonctionne pas dans Chrome

Dans ce code, createRange ne fonctionne pas dans Chrome. Dans IE, il fonctionne. Aidez-vous à réparer ici. Existe-t-il d'autres propriétés pour travailler comme créer une gamme? Donc, cela aidera mon projet.

 <script language=javascript> var isSelected; function markSelection ( txtObj ) { if ( txtObj.createTextRange ) { txtObj.caretPos = document.selection.createRange().duplicate(); isSelected = true; } } function insertTag ( txtName, enclose ) { if(document.f_activity_email == null) { var tag = document.getElementById('EmailTokenID').value; } else { var formC = document.f_activity_email; var tag = formC.EmailTokenID.value; } var closeTag = tag; if ( enclose ) { var attribSplit = tag.indexOf ( ' ' ); if ( tag.indexOf ( ' ' ) > -1 ) closeTag = tag.substring ( 0, attribSplit ); } if ( isSelected ) { var txtObj = eval ( "document.forms[0]." + txtName ); if (txtObj.createTextRange && txtObj.caretPos) { var caretPos = txtObj.caretPos; caretPos.text = ( ( enclose ) ? "<"+tag+">"+caretPos.text+"</"+closeTag+">" : tag+caretPos.text ); markSelection ( txtObj ); if ( txtObj.caretPos.text=='' ) { isSelected=false; txtObj.focus(); } } } else { // placeholder for loss of focus handler } } 

Utilisez createRange plutôt que dans cette publication par exemple:

 if (document.selection) { //IE var range = document.body.createTextRange(); range.moveToElementText(document.getElementById(containerid)); range.select(); } else if (window.getSelection) { //others var range = document.createRange(); range.selectNode(document.getElementById(containerid)); window.getSelection().addRange(range); } 

CreateTextRange est uniquement dans IE.

Jetez un oeil à celui-ci http://help.dottoro.com/ljrvjsfe.php