[ Index ]
 

Code source de GeekLog 1.4.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/public_html/fckeditor/editor/_source/internals/ -> fckdialog_gecko.js (source)

   1  /*
   2   * FCKeditor - The text editor for internet
   3   * Copyright (C) 2003-2006 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   * "Support Open Source software. What about a donation today?"
  12   * 
  13   * File Name: fckdialog_gecko.js
  14   *     Dialog windows operations. (Gecko specific implementations)
  15   * 
  16   * File Authors:
  17   *         Frederico Caldeira Knabben (fredck@fckeditor.net)
  18   */
  19  
  20  FCKDialog.Show = function( dialogInfo, dialogName, pageUrl, dialogWidth, dialogHeight, parentWindow, resizable )
  21  {
  22      var iTop  = (FCKConfig.ScreenHeight - dialogHeight) / 2 ;
  23      var iLeft = (FCKConfig.ScreenWidth  - dialogWidth)  / 2 ;
  24  
  25      var sOption  = "location=no,menubar=no,toolbar=no,dependent=yes,dialog=yes,minimizable=no,modal=yes,alwaysRaised=yes" +
  26          ",resizable="  + ( resizable ? 'yes' : 'no' ) +
  27          ",width="  + dialogWidth +
  28          ",height=" + dialogHeight +
  29          ",top="  + iTop +
  30          ",left=" + iLeft ;
  31  
  32      if ( !parentWindow )
  33          parentWindow = window ;
  34      
  35      FCKFocusManager.Lock() ;
  36      
  37      var oWindow = parentWindow.open( '', 'FCKeditorDialog_' + dialogName, sOption, true ) ;
  38      
  39      if ( !oWindow )
  40      {
  41          alert( FCKLang.DialogBlocked ) ;
  42          FCKFocusManager.Unlock() ;
  43          return ;
  44      }
  45          
  46      oWindow.moveTo( iLeft, iTop ) ;
  47      oWindow.resizeTo( dialogWidth, dialogHeight ) ;
  48      oWindow.focus() ;
  49      oWindow.location.href = pageUrl ;
  50      
  51      oWindow.dialogArguments = dialogInfo ;
  52      
  53      // On some Gecko browsers (probably over slow connections) the 
  54      // "dialogArguments" are not set to the target window so we must
  55      // put it in the opener window so it can be used by the target one.
  56      parentWindow.FCKLastDialogInfo = dialogInfo ;
  57      
  58      this.Window = oWindow ;
  59      
  60      // Try/Catch must be used to avoit an error when using a frameset 
  61      // on a different domain: 
  62      // "Permission denied to get property Window.releaseEvents".
  63      try
  64      {
  65          window.top.captureEvents( Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS ) ;
  66          window.top.parent.addEventListener( 'mousedown', this.CheckFocus, true ) ;
  67          window.top.parent.addEventListener( 'mouseup', this.CheckFocus, true ) ;
  68          window.top.parent.addEventListener( 'click', this.CheckFocus, true ) ;
  69          window.top.parent.addEventListener( 'focus', this.CheckFocus, true ) ;
  70      }
  71      catch (e)
  72      {}
  73  }
  74  
  75  FCKDialog.CheckFocus = function()
  76  {
  77      // It is strange, but we have to check the FCKDialog existence to avoid a 
  78      // random error: "FCKDialog is not defined".
  79      if ( typeof( FCKDialog ) != "object" )
  80          return false ;
  81      
  82      if ( FCKDialog.Window && !FCKDialog.Window.closed )
  83          FCKDialog.Window.focus() ;
  84      else
  85      {
  86          // Try/Catch must be used to avoit an error when using a frameset 
  87          // on a different domain: 
  88          // "Permission denied to get property Window.releaseEvents".
  89          try
  90          {
  91              window.top.releaseEvents(Event.CLICK | Event.MOUSEDOWN | Event.MOUSEUP | Event.FOCUS) ;
  92              window.top.parent.removeEventListener( 'onmousedown', FCKDialog.CheckFocus, true ) ;
  93              window.top.parent.removeEventListener( 'mouseup', FCKDialog.CheckFocus, true ) ;
  94              window.top.parent.removeEventListener( 'click', FCKDialog.CheckFocus, true ) ;
  95              window.top.parent.removeEventListener( 'onfocus', FCKDialog.CheckFocus, true ) ;
  96          }
  97          catch (e)
  98          {}
  99      }
 100      return false ;
 101  }


Généré le : Wed Nov 21 12:27:40 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics