您的位置:首页 > 其它

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

2007-08-21 10:27 429 查看
  用过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() ;

}

}

这样就没有问题了。

文章来源:http://www.cnblogs.com/Wang-Seraph/archive/2007/04/09/705447.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐