fck_2_ie.js
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:4k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. /*
  2.  * FCKeditor - The text editor for internet
  3.  * Copyright (C) 2003-2005 Frederico Caldeira Knabben
  4.  * 
  5.  * Licensed under the terms of the GNU Lesser General Public License:
  6.  *  http://www.opensource.org/licenses/lgpl-license.php
  7.  * 
  8.  * For further information visit:
  9.  *  http://www.fckeditor.net/
  10.  * 
  11.  * File Name: fck_2_ie.js
  12.  *  This is the second part of the "FCK" object creation. This is the main
  13.  *  object that represents an editor instance.
  14.  *  (IE specific implementations)
  15.  * 
  16.  * File Authors:
  17.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  18.  */
  19. /*
  20. if ( FCKConfig.UseBROnCarriageReturn ) 
  21. {
  22. // Named commands to be handled by this browsers specific implementation.
  23. FCK.RedirectNamedCommands = 
  24. {
  25. InsertOrderedList : true,
  26. InsertUnorderedList : true
  27. }
  28. FCK.ExecuteRedirectedNamedCommand = function( commandName, commandParameter )
  29. {
  30. if ( commandName == 'InsertOrderedList' || commandName == 'InsertUnorderedList' )
  31. {
  32. if ( !(FCK.EditorDocument.queryCommandState( 'InsertOrderedList' ) || FCK.EditorDocument.queryCommandState( 'InsertUnorderedList' )) )
  33. {
  34. }
  35. }
  36. FCK.ExecuteNamedCommand( commandName, commandParameter ) ;
  37. }
  38. }
  39. */
  40. FCK.Paste = function()
  41. {
  42. if ( FCKConfig.ForcePasteAsPlainText )
  43. {
  44. FCK.PasteAsPlainText() ;
  45. return false ;
  46. }
  47. else if ( FCKConfig.AutoDetectPasteFromWord )
  48. {
  49. var sHTML = FCK.GetClipboardHTML() ;
  50. var re = /<w[^>]* class="?MsoNormal"?/gi ;
  51. if ( re.test( sHTML ) )
  52. {
  53. if ( confirm( FCKLang["PasteWordConfirm"] ) )
  54. {
  55. FCK.PasteFromWord() ;
  56. return false ;
  57. }
  58. }
  59. }
  60. else
  61. return true ;
  62. }
  63. FCK.PasteAsPlainText = function()
  64. {
  65. // Get the data available in the clipboard and encodes it in HTML.
  66. var sText = FCKTools.HTMLEncode( clipboardData.getData("Text") ) ;
  67. // Replace the carriage returns with <BR>
  68. sText = sText.replace( /n/g, '<BR>' ) ;
  69. // Insert the resulting data in the editor.
  70. this.InsertHtml( sText ) ;
  71. }
  72. /*
  73. FCK.PasteFromWord = function()
  74. {
  75. FCK.CleanAndPaste( FCK.GetClipboardHTML() ) ;
  76. }
  77. */
  78. FCK.InsertElement = function( element )
  79. {
  80. FCK.InsertHtml( element.outerHTML ) ;
  81. }
  82. FCK.GetClipboardHTML = function()
  83. {
  84. var oDiv = document.getElementById( '___FCKHiddenDiv' ) ;
  85. if ( !oDiv )
  86. {
  87. var oDiv = document.createElement( 'DIV' ) ;
  88. oDiv.id = '___FCKHiddenDiv' ;
  89. oDiv.style.visibility = 'hidden' ;
  90. oDiv.style.overflow = 'hidden' ;
  91. oDiv.style.position = 'absolute' ;
  92. oDiv.style.width = 1 ;
  93. oDiv.style.height = 1 ;
  94. document.body.appendChild( oDiv ) ;
  95. }
  96. oDiv.innerHTML = '' ;
  97. var oTextRange = document.body.createTextRange() ;
  98. oTextRange.moveToElementText( oDiv ) ;
  99. oTextRange.execCommand( 'Paste' ) ;
  100. var sData = oDiv.innerHTML ;
  101. oDiv.innerHTML = '' ;
  102. return sData ;
  103. }
  104. FCK.AttachToOnSelectionChange = function( functionPointer )
  105. {
  106. this.Events.AttachEvent( 'OnSelectionChange', functionPointer ) ;
  107. }
  108. /*
  109. FCK.AttachToOnSelectionChange = function( functionPointer )
  110. {
  111. FCK.EditorDocument.attachEvent( 'onselectionchange', functionPointer ) ;
  112. }
  113. */
  114. FCK.CreateLink = function( url )
  115. {
  116. FCK.ExecuteNamedCommand( 'Unlink' ) ;
  117. if ( url.length > 0 )
  118. {
  119. // Generate a temporary name for the link.
  120. var sTempUrl = 'javascript:void(0);/*' + ( new Date().getTime() ) + '*/' ;
  121. // Use the internal "CreateLink" command to create the link.
  122. FCK.ExecuteNamedCommand( 'CreateLink', sTempUrl ) ;
  123. // Loof for the just create link.
  124. var oLinks = this.EditorDocument.links ;
  125. for ( i = 0 ; i < oLinks.length ; i++ )
  126. {
  127. if ( oLinks[i].href == sTempUrl )
  128. {
  129. oLinks[i].href = url ;
  130. return oLinks[i] ;
  131. }
  132. }
  133. }
  134. }