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

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_flash.js
  12.  *  Scripts related to the Flash dialog window (see fck_flash.html).
  13.  * 
  14.  * File Authors:
  15.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  16.  */
  17. var oEditor = window.parent.InnerDialogLoaded() ;
  18. var FCK = oEditor.FCK ;
  19. var FCKLang = oEditor.FCKLang ;
  20. var FCKConfig = oEditor.FCKConfig ;
  21. //#### Dialog Tabs
  22. // Set the dialog tabs.
  23. window.parent.AddTab( 'Info', oEditor.FCKLang.DlgInfoTab ) ;
  24. if ( FCKConfig.FlashUpload )
  25. window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload ) ;
  26. if ( !FCKConfig.FlashDlgHideAdvanced )
  27. window.parent.AddTab( 'Advanced', oEditor.FCKLang.DlgAdvancedTag ) ;
  28. // Function called when a dialog tag is selected.
  29. function OnDialogTabChange( tabCode )
  30. {
  31. ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
  32. ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
  33. ShowE('divAdvanced' , ( tabCode == 'Advanced' ) ) ;
  34. }
  35. // Get the selected flash embed (if available).
  36. var oFakeImage = FCK.Selection.GetSelectedElement() ;
  37. var oEmbed ;
  38. if ( oFakeImage )
  39. {
  40. if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fckflash') )
  41. oEmbed = FCK.GetRealElement( oFakeImage ) ;
  42. else
  43. oFakeImage = null ;
  44. }
  45. window.onload = function()
  46. {
  47. // Translate the dialog box texts.
  48. oEditor.FCKLanguageManager.TranslatePage(document) ;
  49. // Load the selected element information (if any).
  50. LoadSelection() ;
  51. // Show/Hide the "Browse Server" button.
  52. GetE('tdBrowse').style.display = FCKConfig.FlashBrowser ? '' : 'none' ;
  53. // Set the actual uploader URL.
  54. if ( FCKConfig.FlashUpload )
  55. GetE('frmUpload').action = FCKConfig.FlashUploadURL ;
  56. window.parent.SetAutoSize( true ) ;
  57. // Activate the "OK" button.
  58. window.parent.SetOkButton( true ) ;
  59. }
  60. function LoadSelection()
  61. {
  62. if ( ! oEmbed ) return ;
  63. var sUrl = GetAttribute( oEmbed, 'src', '' ) ;
  64. GetE('txtUrl').value    = GetAttribute( oEmbed, 'src', '' ) ;
  65. GetE('txtWidth').value  = GetAttribute( oEmbed, 'width', '' ) ;
  66. GetE('txtHeight').value = GetAttribute( oEmbed, 'height', '' ) ;
  67. // Get Advances Attributes
  68. GetE('txtAttId').value = oEmbed.id ;
  69. GetE('chkAutoPlay').checked = GetAttribute( oEmbed, 'play', 'true' ) == 'true' ;
  70. GetE('chkLoop').checked = GetAttribute( oEmbed, 'loop', 'true' ) == 'true' ;
  71. GetE('chkMenu').checked = GetAttribute( oEmbed, 'menu', 'true' ) == 'true' ;
  72. GetE('cmbScale').value = GetAttribute( oEmbed, 'scale', '' ).toLowerCase() ;
  73. GetE('txtAttTitle').value = oEmbed.title ;
  74. GetE('txtAttClasses').value = oEmbed.getAttribute('class',2) || '' ;
  75. if ( oEditor.FCKBrowserInfo.IsIE )
  76. GetE('txtAttStyle').value = oEmbed.style.cssText ;
  77. else
  78. GetE('txtAttStyle').value = oEmbed.getAttribute('style',2) ;
  79. UpdatePreview() ;
  80. }
  81. //#### The OK button was hit.
  82. function Ok()
  83. {
  84. if ( GetE('txtUrl').value.length == 0 )
  85. {
  86. window.parent.SetSelectedTab( 'Info' ) ;
  87. GetE('txtUrl').focus() ;
  88. alert( oEditor.FCKLang.DlgAlertUrl ) ;
  89. return false ;
  90. }
  91. if ( !oEmbed )
  92. {
  93. oEmbed = FCK.EditorDocument.createElement( 'EMBED' ) ;
  94. oFakeImage  = null ;
  95. }
  96. UpdateEmbed( oEmbed ) ;
  97. if ( !oFakeImage )
  98. {
  99. oFakeImage = oEditor.FCKDocumentProcessors_CreateFakeImage( 'FCK__Flash', oEmbed ) ;
  100. oFakeImage.setAttribute( '_fckflash', 'true', 0 ) ;
  101. oFakeImage = FCK.InsertElementAndGetIt( oFakeImage ) ;
  102. }
  103. else
  104. oEditor.FCKUndo.SaveUndoStep() ;
  105. oEditor.FCKFlashProcessor.RefreshView( oFakeImage, oEmbed ) ;
  106. return true ;
  107. }
  108. function UpdateEmbed( e )
  109. {
  110. SetAttribute( e, 'type' , 'application/x-shockwave-flash' ) ;
  111. SetAttribute( e, 'pluginspage' , 'http://www.macromedia.com/go/getflashplayer' ) ;
  112. e.src = GetE('txtUrl').value ;
  113. SetAttribute( e, "width" , GetE('txtWidth').value ) ;
  114. SetAttribute( e, "height", GetE('txtHeight').value ) ;
  115. // Advances Attributes
  116. SetAttribute( e, 'id' , GetE('txtAttId').value ) ;
  117. SetAttribute( e, 'scale', GetE('cmbScale').value ) ;
  118. if ( !GetE('chkAutoPlay').checked ) SetAttribute( e, 'play', 'false' ) ;
  119. if ( !GetE('chkLoop').checked ) SetAttribute( e, 'loop', 'false' ) ;
  120. if ( !GetE('chkMenu').checked ) SetAttribute( e, 'menu', 'false' ) ;
  121. SetAttribute( e, 'title' , GetE('txtAttTitle').value ) ;
  122. SetAttribute( e, 'class' , GetE('txtAttClasses').value ) ;
  123. if ( oEditor.FCKBrowserInfo.IsIE )
  124. e.style.cssText = GetE('txtAttStyle').value ;
  125. else
  126. SetAttribute( e, 'style', GetE('txtAttStyle').value ) ;
  127. }
  128. function UpdatePreview()
  129. {
  130. var oCell = GetE('ePreviewCell') ;
  131. while ( oCell.firstChild )
  132. oCell.removeChild( oCell.firstChild ) ;
  133. if ( GetE('txtUrl').value.length == 0 )
  134. oCell.innerHTML = ' ' ;
  135. else
  136. {
  137. var e = document.createElement( 'EMBED' ) ;
  138. e.src = GetE('txtUrl').value ;
  139. e.type = 'application/x-shockwave-flash' ;
  140. e.width = '100%' ;
  141. e.height = '100%' ;
  142. oCell.appendChild( e ) ;
  143. }
  144. }
  145. // <embed id="ePreview" src="fck_flash/claims.swf" width="100%" height="100%" style="visibility:hidden" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
  146. function BrowseServer()
  147. {
  148. OpenServerBrowser(
  149. 'Flash',
  150. FCKConfig.FlashBrowserURL,
  151. FCKConfig.FlashBrowserWindowWidth,
  152. FCKConfig.FlashBrowserWindowHeight ) ;
  153. }
  154. function OpenServerBrowser( type, url, width, height )
  155. {
  156. var iLeft = (screen.width  - width) / 2 ;
  157. var iTop  = (screen.height - height) / 2 ;
  158. var sOptions = "toolbar=no,status=no,resizable=yes,dependent=yes" ;
  159. sOptions += ",width=" + width ;
  160. sOptions += ",height=" + height ;
  161. sOptions += ",left=" + iLeft ;
  162. sOptions += ",top=" + iTop ;
  163. var oWindow = window.open( url, "FCKBrowseWindow", sOptions ) ;
  164. }
  165. function SetUrl( url )
  166. {
  167. GetE('txtUrl').value = url ;
  168. UpdatePreview() ;
  169. window.parent.SetSelectedTab( 'Info' ) ;
  170. }
  171. function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
  172. {
  173. switch ( errorNumber )
  174. {
  175. case 0 : // No errors
  176. alert( 'Your file has been successfully uploaded' ) ;
  177. break ;
  178. case 1 : // Custom error
  179. alert( customMsg ) ;
  180. return ;
  181. case 101 : // Custom warning
  182. alert( customMsg ) ;
  183. break ;
  184. case 201 :
  185. alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
  186. break ;
  187. case 202 :
  188. alert( 'Invalid file type' ) ;
  189. return ;
  190. case 203 :
  191. alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
  192. return ;
  193. default :
  194. alert( 'Error on file upload. Error number: ' + errorNumber ) ;
  195. return ;
  196. }
  197. SetUrl( fileUrl ) ;
  198. GetE('frmUpload').reset() ;
  199. }
  200. var oUploadAllowedExtRegex = new RegExp( FCKConfig.FlashUploadAllowedExtensions, 'i' ) ;
  201. var oUploadDeniedExtRegex = new RegExp( FCKConfig.FlashUploadDeniedExtensions, 'i' ) ;
  202. function CheckUpload()
  203. {
  204. var sFile = GetE('txtUploadFile').value ;
  205. if ( sFile.length == 0 )
  206. {
  207. alert( 'Please select a file to upload' ) ;
  208. return false ;
  209. }
  210. if ( ( FCKConfig.FlashUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
  211. ( FCKConfig.FlashUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
  212. {
  213. OnUploadCompleted( 202 ) ;
  214. return false ;
  215. }
  216. return true ;
  217. }