在二级目录和顶级域名下使FCKeditor编辑器图片显示正常

FCKeditor编辑器大家都用的吧,最近一个项目遇到了一些麻烦,就是项目发布前是有二级目录的,比如http://www.abc.com/test/,项目发布以后就需要指向到一级域名,比如:www.test.com,项目在服务器上的物理路径是不变的。相信很多网络公司发布网站都用这种方式。域名指向以后FCK编辑器里面的图片显示就会出现问题。找了很多方法,最后确定,FCKeditor编辑器本身是有设置的!先汗一个。。。。

在Fckeditor目录下找到fckconfig.js文件,在30行左右找到:

FCKConfig.BaseHref  =   ''  ;

这个就是设置图片基础路径的,脚本调用这个变量的时候会生成一个html<Base>标签

document.write(  ' <base href=" '   +  window.parent.FCKConfig.BaseHref  +   ' "> '  ) ;

Base标签的作用,相信很多人很陌生,没怎么用过。我查了一下资料<Base>的作用简单的说就是,不管本页面在哪个目录下面,只要设置了<base>那么,图片路径就当时设置的这个目录下面,不过设置要用绝对路径,不能用相对路径。比如:http://www.baidu.com/

< head >
< base  href ="http://www.w3schools.com/images/"   />
</ head >
< img  src ="smile.gif"   />
相当于
< head >
</ head >
< img  src ="http://www.w3schools.com/images/smile.gif"   />

了解了这些以后就简单了,FCKConfig.BaseHref = '' ;虽然可以设置,但是需要绝对路径,所以加入下面的小代码就可以了:
原理很简单,就是取top的location就可以了,然后把最后面的文件名删除就可以了。

另外,上传文件的路径设置成:

$Config[ ' UserFilesPath ' =   ' ../upload/fck/ '  ;

$Config[
' UserFilesAbsolutePath ' =   ' /web1/web/xuxu/upload/fck/ '  ;

上传设置文件的路径位于:FCKeditor/editor/filemanager/upload/php/config.php
浏览设置文件的路径位于:FCKeditor/editor/filemanager/browser/default/connectors/php/config.php

 

FCKConfig.BaseHref  =   ' '  ;

if (top.location != null )
{
    
var  __url = top.location + "" ;
    __url
= __url.substr( 0 ,__url.lastIndexOf( " / " ) + 1 );
    FCKConfig.BaseHref
= __url;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值