Changeset 1372


Ignore:
Timestamp:
02/06/18 08:56:54 (19 months ago)
Author:
gogo
Message:

WebKitResize? fix for positions of resize boxes when scrolled in the iframe in all three rendering modes (Standards, Almost Standards and Quirks)

Location:
trunk/plugins/WebKitResize
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/WebKitResize/WebKitResize.js

    r1369 r1372  
    8080WebKitResize.prototype.onBeforeMode = function(mode) 
    8181{ 
     82  console.log("B CHANGE"); 
    8283  if(Xinha.is_webkit) 
    8384  { 
    84     if(typeof this.editor._iframe._WebKitImageResizeEnd) 
    85       this.editor._iframe._WebKitImageResizeEnd(); 
    86      
    87     if(typeof this.editor._iframe._WebKitTableResizeEnd) 
    88       this.editor._iframe._WebKitTableResizeEnd(); 
    89      
    90     if(typeof this.editor._iframe._WebKitTdResizeEnd) 
    91       this.editor._iframe._WebKitTdResizeEnd(); 
     85    if(mode == 'textmode') 
     86    { 
     87      if(typeof this.editor._iframe._WebKitImageResizeEnd) 
     88        this.editor._iframe._WebKitImageResizeEnd(); 
     89       
     90      if(typeof this.editor._iframe._WebKitTableResizeEnd) 
     91        this.editor._iframe._WebKitTableResizeEnd(); 
     92       
     93      if(typeof this.editor._iframe._WebKitTdResizeEnd) 
     94        this.editor._iframe._WebKitTdResizeEnd(); 
     95    } 
    9296  } 
    9397} 
     98 
     99WebKitResize.prototype.onMode = function(mode) 
     100{ 
     101  console.log("CHANGE"); 
     102  if(Xinha.is_webkit) 
     103  { 
     104    if(mode == 'textmode') 
     105    { 
     106       
     107    } 
     108    else 
     109    { 
     110      if(typeof this.editor._iframe._WebKitImageResizeStart) 
     111        this.editor._iframe._WebKitImageResizeStart(); 
     112    } 
     113  } 
     114} 
  • trunk/plugins/WebKitResize/jquery.webkitresize.js

    r1369 r1372  
    6161                    var imgWidth = $(img).outerWidth(); 
    6262                    var iframePos = context.$ifrm.offset(); 
    63                     var imgPosition = $(img).offset(); 
    64                     var ifrmScrollTop = context.$ifrmBody.scrollTop(); 
    65                     var ifrmScrollLeft = context.$ifrmBody.scrollLeft(); 
     63                    var imgPosition = $(img).offset();        
     64                    var ifrmScrollTop = Math.max(context.ifrm.contentWindow.document.documentElement.scrollTop, context.$ifrmBody.scrollTop()); 
     65                    var ifrmScrollLeft = Math.max(context.ifrm.contentWindow.document.documentElement.scrollLeft, context.$ifrmBody.scrollLeft()); 
    6666 
    6767                    context.$docBody.append("<span data-guid='" + context.guid + "' class='img-resize-selector' style='margin:10px;position:absolute;top:" + (iframePos.top + imgPosition.top - ifrmScrollTop + imgHeight - 10) + "px;left:" + (iframePos.left + imgPosition.left - ifrmScrollLeft + imgWidth - 10) + "px;border:solid 2px red;width:6px;height:6px;cursor:se-resize;z-index:1000;'></span>"); 
     
    240240                            } 
    241241                        }); 
     242                    }); 
     243                }, 
     244                 
     245                debind: function (context) { 
     246                    context.$ifrm.contents().find("img").each(function (i, v) { 
     247                        $(v).unbind('click');                         
    242248                    }); 
    243249                }, 
     
    394400            methods.refresh(context); 
    395401 
    396             ifrm._WebKitImageResizeEnd = function(){ methods.reset(context); } 
     402            ifrm._WebKitImageResizeEnd   = function(){ methods.reset(context); methods.removeResizeElements(context); methods.debind(context); } 
     403            ifrm._WebKitImageResizeStart = function(){ methods.reset(context); context.$ifrmBody = $ifrm.contents().find("body"); } 
    397404        }); 
    398405    }; 
     
    444451                    var iframePos = context.$ifrm.offset(); 
    445452                    var tblPosition = $(tbl).offset(); 
    446                     var ifrmScrollTop = context.$ifrmBody.scrollTop(); 
    447                     var ifrmScrollLeft = context.$ifrmBody.scrollLeft(); 
     453                    var ifrmScrollTop = Math.max(context.ifrm.contentWindow.document.documentElement.scrollTop, context.$ifrmBody.scrollTop()); 
     454                    var ifrmScrollLeft = Math.max(context.ifrm.contentWindow.document.documentElement.scrollLeft, context.$ifrmBody.scrollLeft()); 
    448455 
    449456                    context.$docBody.append("<span data-guid='" + context.guid + "' class='resize-selector' style='margin:10px;position:absolute;top:" + (iframePos.top + tblPosition.top - ifrmScrollTop + tblHeight - 10) + "px;left:" + (iframePos.left + tblPosition.left - ifrmScrollLeft + tblWidth - 10) + "px;border:solid 2px red;width:6px;height:6px;cursor:se-resize;z-index:1000;'></span>"); 
     
    565572                            } 
    566573                        }); 
     574                    }); 
     575                }, 
     576 
     577                debind: function (context) { 
     578                    context.$ifrm.contents().find("table").each(function (i, v) { 
     579                        $(v).unbind('click');                         
    567580                    }); 
    568581                }, 
     
    714727            methods.refresh(context); 
    715728 
    716             ifrm._WebKitTableResizeEnd = function(){ methods.reset(context); } 
     729            ifrm._WebKitTableResizeEnd = function(){ methods.reset(context); methods.removeResizeElements(context); methods.debind(context); } 
     730            ifrm._WebKitImageResizeStart = function(){ methods.reset(context); context.$ifrmBody = $ifrm.contents().find("body"); } 
    717731        }); 
    718732    }; 
     
    764778                    var iframePos = context.$ifrm.offset(); 
    765779                    var tdPosition = $(td).offset(); 
    766                     var ifrmScrollTop = context.$ifrmBody.scrollTop(); 
    767                     var ifrmScrollLeft = context.$ifrmBody.scrollLeft(); 
     780                    var ifrmScrollTop = Math.max(context.ifrm.contentWindow.document.documentElement.scrollTop, context.$ifrmBody.scrollTop()); 
     781                    var ifrmScrollLeft = Math.max(context.ifrm.contentWindow.document.documentElement.scrollLeft, context.$ifrmBody.scrollLeft()); 
    768782 
    769783                    context.$docBody.append("<span data-guid='" + context.guid + "' class='td-resize-selector' style='margin:10px;position:absolute;top:" + (iframePos.top + tdPosition.top - ifrmScrollTop + tdHeight - 10) + "px;left:" + (iframePos.left + tdPosition.left - ifrmScrollLeft + tdWidth - 10) + "px;border:solid 2px red;width:6px;height:6px;cursor:se-resize;z-index:1000;'></span>"); 
     
    884898                            } 
    885899                        }); 
     900                    }); 
     901                }, 
     902                 
     903                debind: function (context) { 
     904                    context.$ifrm.contents().find("td").each(function (i, v) { 
     905                        $(v).unbind('click');                         
    886906                    }); 
    887907                }, 
     
    10371057            methods.refresh(context); 
    10381058 
    1039             ifrm._WebKitTdResizeEnd = function(){ methods.reset(context); } 
     1059            ifrm._WebKitTdResizeEnd = function(){ methods.reset(context); methods.removeResizeElements(context); methods.debind(context);  } 
     1060            ifrm._WebKitImageResizeStart = function(){ methods.reset(context); context.$ifrmBody = $ifrm.contents().find("body"); } 
    10401061        }); 
    10411062    }; 
Note: See TracChangeset for help on using the changeset viewer.