前些天在做extjs+fckeditor应用的时候,发现了一个很棘手的问题。
在不嵌套iframe时fckeditor的各项功能都是正常的,应用也很方便,可是当我跨域的时候编辑器的工具栏的应用弹出窗体都打不开,404错误。
a页面 加载 b页面
a页面是应用iframe
b页面放置呈现 fckeditor
两个页面在不同的域中使用,在一个域的时候使用正常,可是在两个不同的域的时候显示是正常的,就是想上传图片一类的弹出框找不到地址404错误。
经过自己的刻苦研究终于找到了解决的方法。
在fckeditor/editor/js/fckeditorcode_ie.js 脚本文件,刚一打开很乱,真是烦不过还是得解决呀,硬着头皮看。
发现 O.src = FCKConfig.BasePath + 'fckdialog.html'; 是负责弹出工具的窗体路径,就是这个路径错了。
他是相对的路径,所以获取了父级的路径。
修改后是:O.src = FCKConfig.FullBasePath + 'fckdialog.html';
获取了当前编辑器域的路径,就ok了。