当前位置: 代码迷 >> Web前端 >> (转)对FckEditor编辑器在MAXTHON浏览器上选择服务器文件对话框显示不正常的改进
  详细解决方案

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

热度:128   发布时间:2012-11-23 22:54:33.0
(转)对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()?;????
????}
}
1 楼 ddh9504 2007-10-26  
修改之后对于其他浏览器受不受不影响???
  相关解决方案