一般来说如果我从http://abc.com/about.html把下面一段带有相对路径的文字粘贴到一个富文本编辑器
xxhelp
应当自动转换为如下形式
xxhelp
这样里面的相对路径链接才不会失效,但是发现tinyMCE在ie下面却不会自动转换。以为其他网站也会这样,但是试了一下sina博客的编辑器却没有这个问题,看来应该是tinyMCE本身的问题。
查了许久,发现tinyMCE即使不传document_base_url这个参数也会自作聪明的加一个<base />标签,而href的值就是当前路径。从而导致ie不再自动转换粘贴内容里的相对路径,所以只要删除这个元素便可解决问题,hack如下:
(function()
{
tinymce.create('tinymce.plugins.bluePatch', {
init : function( ed, url )
{
ed.onInit.add( function( ed, cm)
{
var b = ed.getDoc().getElementsByTagName( 'base' )[ 0 ];
//发现直接删除会出问题,所以删除href就够了
b.removeAttribute( 'href' );
});
}
});
tinymce.PluginManager.add( 'bluePatch', tinymce.plugins.bluePatch );
})();
暂时没有留言。