Changes between Version 1 and Version 2 of Ticket #17195, comment 6


Ignore:
Timestamp:
May 24, 2013, 4:15:14 PM (8 years ago)
Author:
Jared Jurkiewicz
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #17195, comment 6

    v1 v2  
    33What disturbs me is IE does this:
    44
    5             if(has("ie")){
    6                 var insertRange = this.document.selection.createRange();
    7                 if(console.log( === 'CONTROL'){
    8                     var n = insertRange.item(0);
    9                     while(insertRange.length){                                                                                                                                           
    10                         insertRange.remove(insertRange.item(0));
    11                     }
    12                     n.outerHTML = argument;
    13                 }else{
    14                     '''insertRange.pasteHTML(argument);'''
    15                 }
    16                 insertRange.select();
     5                _inserthtmlImpl: function(argument){
     6                        // summary:
     7                        //              This function implements the insertion of HTML content into
     8                        //              a point on the page.
     9                        // argument:
     10                        //              The content to insert, if any.
     11                        // tags:
     12                        //              protected
     13                        argument = this._preFilterContent(argument);
     14                        var rv = true;
     15                        if(has("ie")){
     16                                var insertRange = this.document.selection.createRange();
     17                                if(this.document.selection.type.toUpperCase() === 'CONTROL'){
     18                                        var n = insertRange.item(0);
     19                                        while(insertRange.length){
     20                                                insertRange.remove(insertRange.item(0));
     21                                        }
     22                                        n.outerHTML = argument;
     23                                }else{
     24                                        '''insertRange.pasteHTML(argument);'''
     25                                }
     26                                insertRange.select();
     27                                //insertRange.collapse(true);
     28                        }else if(has("mozilla") && !argument.length){
     29                                //mozilla can not inserthtml an empty html to delete current selection
     30                                //so we delete the selection instead in this case
     31                                this.selection.remove(); // FIXME
     32                        }else{
     33                                rv = this.document.execCommand("inserthtml", false, argument);
     34                        }
     35                        return rv;
     36                },
     37
    1738
    1839The item in bold is what is getting fired.   That insertRange comes from the document in the iframe (I verified), but it is shoving the output into the parent document.   I ... have no idea why it is doing that now all of a sudden.  Something had to have changed in the editor document mode.