Changeset 568
- Timestamp:
- 2007-07-27 03:32:41 (16 months ago)
- Location:
- FCKeditor/trunk/editor/_source
- Files:
-
- 5 modified
-
commandclasses/fckfitwindow.js (modified) (1 diff)
-
internals/fcktools_gecko.js (modified) (4 diffs)
-
internals/fcktools_ie.js (modified) (3 diffs)
-
internals/fcktools.js (modified) (1 diff)
-
internals/fckxhtml_ie.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
FCKeditor/trunk/editor/_source/commandclasses/fckfitwindow.js
r543 r568 57 57 if ( eParent.nodeType == 1 ) 58 58 { 59 var hijackNode = null ;60 var hijackSibling = null ;61 if ( eParent.tagName.toLowerCase() == 'form' && eParent.elements.namedItem( 'style' ) )62 {63 hijackNode = eParent.elements.namedItem( 'style' ) ;64 hijackSibling = hijackNode.nextSibling ;65 eParent.removeChild( hijackNode ) ;66 }67 59 eParent._fckSavedStyles = FCKTools.SaveStyles( eParent ) ; 68 60 eParent.style.zIndex = FCKConfig.FloatingPanelsZIndex - 1 ; 69 if ( hijackNode )70 {71 if ( hijackSibling )72 eParent.insertBefore( hijackNode, hijackSibling ) ;73 else74 eParent.appendChild( hijackNode ) ;75 }76 61 } 77 62 } -
FCKeditor/trunk/editor/_source/internals/fcktools_gecko.js
r422 r568 153 153 FCKTools.SaveStyles = function( element ) 154 154 { 155 var data = FCKTools.ProtectFormStyles( element ) ; 156 155 157 var oSavedStyles = new Object() ; 156 158 … … 169 171 } 170 172 173 FCKTools.RestoreFormStyles( element, data ) ; 171 174 return oSavedStyles ; 172 175 } … … 174 177 FCKTools.RestoreStyles = function( element, savedStyles ) 175 178 { 179 var data = FCKTools.ProtectFormStyles( element ) ; 176 180 element.className = savedStyles.Class || '' ; 177 181 … … 180 184 else 181 185 element.removeAttribute( 'style', 0 ) ; 186 FCKTools.RestoreFormStyles( element, data ) ; 182 187 } 183 188 -
FCKeditor/trunk/editor/_source/internals/fcktools_ie.js
r412 r568 182 182 FCKTools.SaveStyles = function( element ) 183 183 { 184 var data = FCKTools.ProtectFormStyles( element ) ; 185 184 186 var oSavedStyles = new Object() ; 185 187 … … 198 200 } 199 201 202 FCKTools.RestoreFormStyles( element, data ) ; 200 203 return oSavedStyles ; 201 204 } … … 203 206 FCKTools.RestoreStyles = function( element, savedStyles ) 204 207 { 208 var data = FCKTools.ProtectFormStyles( element ) ; 205 209 element.className = savedStyles.Class || '' ; 206 210 element.style.cssText = savedStyles.Inline || '' ; 211 FCKTools.RestoreFormStyles( element, data ) ; 207 212 } 208 213 -
FCKeditor/trunk/editor/_source/internals/fcktools.js
r498 r568 474 474 return pos ; 475 475 } 476 477 FCKTools.ProtectFormStyles = function( formNode ) 478 { 479 if ( !formNode || formNode.nodeType != 1 || formNode.tagName.toLowerCase() != 'form' ) 480 return [] ; 481 var hijackRecord = [] ; 482 var hijackNames = [ 'style', 'className' ] ; 483 for ( var i = 0 ; i < hijackNames.length ; i++ ) 484 { 485 var name = hijackNames[i] ; 486 if ( formNode.elements.namedItem( name ) ) 487 { 488 var hijackNode = formNode.elements.namedItem( name ) ; 489 hijackRecord.push( [ hijackNode, hijackNode.nextSibling ] ) ; 490 formNode.removeChild( hijackNode ) ; 491 } 492 } 493 return hijackRecord ; 494 } 495 496 FCKTools.RestoreFormStyles = function( formNode, hijackRecord ) 497 { 498 if ( !formNode || formNode.nodeType != 1 || formNode.tagName.toLowerCase() != 'form' ) 499 return ; 500 if ( hijackRecord.length > 0 ) 501 { 502 for ( var i = hijackRecord.length - 1 ; i >= 0 ; i-- ) 503 { 504 var node = hijackRecord[i][0] ; 505 var sibling = hijackRecord[i][1] ; 506 if ( sibling ) 507 formNode.insertBefore( node, sibling ) ; 508 else 509 formNode.appendChild( node ) ; 510 } 511 } 512 } -
FCKeditor/trunk/editor/_source/internals/fckxhtml_ie.js
r492 r568 47 47 // attribute. It returns "null" for the nodeValue. 48 48 else if ( sAttName == 'style' ) 49 { 50 var data = FCKTools.ProtectFormStyles( htmlNode ) ; 49 51 sAttValue = htmlNode.style.cssText.replace( FCKRegexLib.StyleProperties, FCKTools.ToLowerCase ) ; 52 FCKTools.RestoreFormStyles( htmlNode, data ) ; 53 } 50 54 // There are two cases when the oAttribute.nodeValue must be used: 51 55 // - for the "class" attribute