对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进
来源:互联网 发布:知柏地黄丸 编辑:程序博客网 时间:2024/05/30 13:42
用过FckEditor的朋友都知道,它的选择图片对话框中“浏览服 务器”按钮。点击该按钮可以浏览以前已经上传过的文件。不过这个按钮点击后弹出的对话框在MAXTHON浏览器下是以标签形式打开的,这样模态对话框就始 终显示在了浏览文件窗口之前,要想选择文件得先关掉模态对话框。先前有朋友提出把弹出模态对话框的功能改为ShowModlessDialog,这个终究 不是解决之道,现将我的解决方法写下来与大家分享:
思路就是基于IE内核的浏览器采用模态对话框弹出浏览服务器窗口,其他的仍然window.open不变1:修改/fckeditor/editor/dialog/common/fck_dialog_common.js
2:修改/fckeditor/editor/filemanager/browser/default/frmresourceslist.html
这样就没有问题了。
思路就是基于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 {
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() ;
}
}
{
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() ;
}
}
这样就没有问题了。
- 对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进
- 对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进
- 页面在360浏览器下显示不正常的兼容性问题
- cocos2d-x 解决win32下 从文件对话框选择文件,显示在游戏中乱码的问题
- extjs中tree在ie下显示不正常的问题
- WIN7下图标在任务栏显示不正常的解决办法
- jquery tabs的使用,在ie下一直显示不正常
- opengl在高DPI屏幕下显示不正常的解决方法.
- Textbox 在 Firefox 浏览器下宽度不正常
- 关于fckeditor 在 firefox 浏览器下 字体的问题
- fckeditor改变浏览服务器文件的显示效果
- 如何打开文件对话框并将选择的文件显示在编辑框中?
- IE浏览器显示不正常
- 如何在网页中显示选择文件对话框
- IPython notebook在浏览器中显示不正常的问题及解决方法
- Menu控件在Chrome,Safari,360浏览器显示不正常的解决方案
- 在二级目录和顶级域名下使FCKeditor编辑器图片显示正常
- text/x-scriptlet类型在IE7以上浏览器不正常显示
- JavaScript代码(一)
- jspsmartupload组件实现单个或多个文件上传(下)
- 作一个程序员应有的素质
- 3月3日收盘行情
- Windows Thread Synchronization With Kernel Objects
- 对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进对FckEditor编辑器在MAXTHON浏览器下选择服务器文件对话框显示不正常的改进
- Sun:收购MySQL是现代软件史第一大并购案
- 公司要来督查了!
- 李开复:我大学时对网游也很上瘾
- 条码条形码编程技术泛谈
- 利用VBScript批量复制、移动文件或文件夹
- 悄悄话终于发布了
- 北京奥运会IT攻防:没有第二次机会的战役
- 常用数据库JDBC连接写法