|     用過FckEditor的朋友都知道,它的選擇圖片對話框中“瀏覽服務(wù)器”按鈕。點擊該按鈕可以瀏覽以前已經(jīng)上傳過的文件。不過這個按鈕點擊后彈出的對話框在MAXTHON瀏覽器下是以標(biāo)簽形式打開的,這樣模態(tài)對話框就始終顯示在了瀏覽文件窗口之前,要想選擇文件得先關(guān)掉模態(tài)對話框。先前有朋友提出把彈出模態(tài)對話框的功能改為ShowModlessDialog,這個終究不是解決之道,現(xiàn)將我的解決方法寫下來與大家分享:  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() ; } } 這樣就沒有問題了。 posted on  | 
|  |