Changeset 875


Ignore:
Timestamp:
08/07/07 21:55:26 (7 years ago)
Author:
ray
Message:

#1048 Full Screen plugin doesn't load if many editors on page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/XinhaCore.js

    r874 r875  
    20372037  { 
    20382038    url = _editor_url + 'modules/InternetExplorer/InternetExplorer.js'; 
    2039     if ( typeof InternetExplorer == 'undefined' && !document.getElementById(url) ) 
     2039    if ( !Xinha.loadPlugins(["InternetExplorer"], function() { editor.generate(); }, url ) ) 
    20402040    {             
    2041       Xinha.loadPlugin("InternetExplorer", function() { editor.generate(); }, url ); 
    20422041      return false; 
    20432042    } 
     
    20472046  { 
    20482047    url = _editor_url + 'modules/Gecko/Gecko.js'; 
    2049     if ( typeof Gecko == 'undefined' && !document.getElementById(url) ) 
     2048    if ( !Xinha.loadPlugins(["Gecko"], function() { editor.generate(); }, url ) ) 
    20502049    {             
    2051       Xinha.loadPlugin("Gecko", function() { editor.generate(); }, url ); 
    20522050      return false; 
    20532051    } 
     
    20662064   
    20672065  url = _editor_url + 'modules/FullScreen/full-screen.js'; 
    2068   if ( typeof FullScreen == "undefined" && !document.getElementById(url) ) 
    2069   { 
    2070     Xinha.loadPlugin("FullScreen", function() { editor.generate(); }, url ); 
     2066  if ( !Xinha.loadPlugins(["FullScreen"], function() { editor.generate(); }, url )) 
     2067  { 
    20712068    return false; 
    20722069  } 
    20732070   
    20742071  url = _editor_url + 'modules/ColorPicker/ColorPicker.js'; 
    2075   if ( typeof ColorPicker == 'undefined' && !document.getElementById(url) ) 
    2076   { 
    2077     Xinha.loadPlugin("ColorPicker", function() { editor.generate(); } , url ); 
     2072  if ( !Xinha.loadPlugins(["ColorPicker"], function() { editor.generate(); } , url ) ) 
     2073  { 
    20782074    return false; 
    20792075  } 
     
    20922088        case "insertimage": 
    20932089          url = _editor_url + 'modules/InsertImage/insert_image.js'; 
    2094           if ( typeof InsertImage == 'undefined' && typeof Xinha.prototype._insertImage == 'undefined' && !document.getElementById(url) ) 
     2090          if ( typeof Xinha.prototype._insertImage == 'undefined' && !Xinha.loadPlugins(["InsertImage"], function() { editor.generate(); } , url ) ) 
    20952091          { 
    2096             Xinha.loadPlugin("InsertImage", function() { editor.generate(); } , url ); 
    20972092            return false; 
    20982093          } 
     
    21012096        case "createlink": 
    21022097          url = _editor_url + 'modules/CreateLink/link.js'; 
    2103           if ( typeof CreateLink == 'undefined' && typeof Xinha.prototype._createLink == 'undefined' &&  typeof Linker == 'undefined' && !document.getElementById(url)) 
     2098          if ( typeof Linker == 'undefined' && !Xinha.loadPlugins(["CreateLink"], function() { editor.generate(); } , url )) 
    21042099          { 
    2105             Xinha.loadPlugin("CreateLink", function() { editor.generate(); } , url ); 
    21062100            return false; 
    21072101          } 
     
    21102104        case "inserttable": 
    21112105          url = _editor_url + 'modules/InsertTable/insert_table.js'; 
    2112           if ( typeof InsertTable == 'undefined' && typeof Xinha.prototype._insertTable == 'undefined' && !document.getElementById(url) ) 
     2106          if ( !Xinha.loadPlugins(["InsertTable"], function() { editor.generate(); } , url ) ) 
    21132107          { 
    2114             Xinha.loadPlugin("InsertTable", function() { editor.generate(); } , url ); 
    21152108            return false; 
    21162109          } 
     
    21332126      break; 
    21342127    } 
    2135     if ( typeof EnterParagraphs == 'undefined'  && !document.getElementById(ParaHandlerPlugin) ) 
    2136     { 
    2137       Xinha.loadPlugin("EnterParagraphs", function() { editor.generate(); }, ParaHandlerPlugin ); 
     2128    if (  !Xinha.loadPlugins(["EnterParagraphs"], function() { editor.generate(); }, ParaHandlerPlugin ) ) 
     2129    { 
    21382130      return false; 
    21392131    } 
     
    21512143  } 
    21522144   
    2153   if (typeof GetHtmlImplementation == 'undefined'  && !document.getElementById(getHtmlMethodPlugin)) 
    2154   { 
    2155     Xinha.loadPlugin("GetHtmlImplementation", function() { editor.generate(); } , getHtmlMethodPlugin); 
     2145  if ( !Xinha.loadPlugins(["GetHtmlImplementation"], function() { editor.generate(); } , getHtmlMethodPlugin)) 
     2146  { 
    21562147    return false;         
    21572148  } 
     
    33263317 * @param {Array} plugins 
    33273318 * @param {Function} callbackIfNotReady function that is called repeatedly until all files are 
     3319 * @param {String} optional url URL of the plugin file; obviously plugins should contain only one item if url is given 
    33283320 * @returns {Boolean} true if all plugins are loaded, false otherwise 
    33293321 */ 
    3330 Xinha.loadPlugins = function(plugins, callbackIfNotReady) 
     3322Xinha.loadPlugins = function(plugins, callbackIfNotReady,url) 
    33313323{ 
    33323324  if ( !Xinha.isSupportedBrowser ) return; 
     
    33463338        function(plugin) 
    33473339        { 
    3348           // @todo : try to avoid the use of eval() 
    3349           if ( eval('typeof ' + plugin) != 'undefined' ) 
     3340          if ( typeof window[plugin] != 'undefined' ) 
    33503341          { 
    33513342            Xinha._pluginLoadStatus[plugin] = 'ready'; 
     
    33603351            Xinha._pluginLoadStatus[plugin] = 'failed'; 
    33613352          } 
    3362         } 
     3353        },url 
    33633354      ); 
    33643355      retVal = false; 
Note: See TracChangeset for help on using the changeset viewer.