(转)对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进...

 用过FckEditor的朋友都知道,它的选择图片对话框中“浏览服务器”按钮。点击该按钮可以浏览以前已经上传过的文件。不过这个按钮点击后弹出的对话框在MAXTHON浏览器下是以标签形式打开的,这样模态对话框就始终显示在了浏览文件窗口之前,要想选择文件得先关掉模态对话框。先前有朋友提出把弹出模态对话框的功能改为ShowModlessDialog,这个终究不是解决之道,现将我的解决方法写下来与大家分享:
思路就是基于IE内核的浏览器采用模态对话框弹出浏览服务器窗口,其他的仍然window.open不变1:修改\fckeditor\editor\dialog\common\fck_dialog_common.js
 1  function  OpenFileBrowser( url, width, height )
 2  {
 3       //  oEditor must be defined.
 4 
 5       var  iLeft  =  ( oEditor.FCKConfig.ScreenWidth   -  width )  /   2  ;
 6       var  iTop   =  ( oEditor.FCKConfig.ScreenHeight  -  height )  /   2  ;
 7 
 8       var  sOptions  =   " toolbar=no,status=no,resizable=no,dependent=yes,scrollbars=yes "  ;
 9      sOptions  +=   " ,width= "   +  width ;
10      sOptions  +=   " ,height= "   +  height ;
11      sOptions  +=   " ,left= "   +  iLeft ;
12      sOptions  +=   " ,top= "   +  iTop ;
13 
14       //  The "PreserveSessionOnFileBrowser" because the above code could be
15       //  blocked by popup blockers.
16       if  ( oEditor.FCKConfig.PreserveSessionOnFileBrowser  &&  oEditor.FCKBrowserInfo.IsIE )
17      {
18           //  The following change has been made otherwise IE will open the file
19           //  browser on a different server session (on some cases):
20           //  http://support.microsoft.com/default.aspx?scid=kb;en-us;831678
21           //  by Simone Chiaretta.
22           var  oWindow  =  oEditor.window.open( url, 'FCKBrowseWindow', sOptions ) ;
23 
24           if  ( oWindow )
25          {
26               //  Detect Yahoo popup blocker.
27               try
28              {
29                   var  sTest  =  oWindow.name ;  //  Yahoo returns "something", but we can't access it, so detect that and avoid strange errors for the user.
30                  oWindow.opener  =  window ;
31              }
32               catch (e)
33              {
34                  alert( oEditor.FCKLang.BrowseServerBlocked ) ;
35              }
36          }
37           else
38              alert( oEditor.FCKLang.BrowseServerBlocked ) ;
39      }
40       else
41      {    
            //这里是修改部分
42           if (oEditor.FCKBrowserInfo.IsIE)
43          {
44              window.showModalDialog(url + " &rdm= " + new  Date(),window, " status:false;dialogWidth: " + width + " px;dialogHeight: " + height + " px\ "" );
45          }
46          else
47          {
48              window.open( url, 'FCKBrowseWindow', sOptions ) ;
49          }
50      }
51  }

2:修改\fckeditor\editor\filemanager\browser\default\frmresourceslist.html
function  OpenFile( fileUrl )
{
    
if ( window.dialogArguments)
    {
        window.dialogArguments.SetUrl( fileUrl ) ;
        window.close() ;
        window.dialogArguments.focus() ;
    }
    
else
    {    
        window.top.opener.SetUrl( fileUrl ) ;
        window.top.close() ;
        window.top.opener.focus() ;    
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值