[ Content | Sidebar ]

Archives for 四月, 2009

tinyMCE:ie下无法自动转换粘贴文本中的相对路径

一般来说如果我从http://abc.com/about.html把下面一段带有相对路径的文字粘贴到一个富文本编辑器

xx<a href="help.html">help</a>
Copy Code 

应当自动转换为如下形式

xx<a href="http://abc.com/help.html">help</a>
Copy Code 

这样里面的相对路径链接才不会失效,但是发现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 );
})();
Copy Code 

usb冰箱使用的制冷原理

第一感觉肯定不会装个泵,g了一下是下面的这个东西

半导体制冷

原来半导体还能一头冷一头热的。。。

懒人工具之:自动刷新firefox,解放ctrl+f5

y,自从用了vim,该让机器做的都让机器做了。。

这个东东的原理是这样滴,firefox安装一个插件,起作用的就下面几行

var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("/tmp/refresh.firefox");
//浏览器开启时启动一个定时器
var timer = setInterval(function()
{
    //每隔0.1秒检测一下这个文件存在否 
    if ( file.exists() )
    {
        //如果存在,删除之
        file.remove(true);
        //获取当前标签的文档对象
        var doc = gBrowser.selectedBrowser.contentDocument;
        //是否是在调试的东东
        if ( /(xiaonei\.com|kaixin\.com)/.test( doc.location.href ) )
        {
            //如果是,调用dnsFluher,刷新host,如果没有安装此插件就算了
            dnsFluher.refreshdns();
            //刷新页面
            doc.location.reload();
        }
    }
},100 );
Copy Code 

所以,只要在/tmp/目录生成一个refresh.firefox的文件,firefox便会刷新了

vim 里添加一行配置文件

"更改host文件时刷新
autocmd BufWritePost,FileWritePost /etc/hosts execute '!echo '' > /tmp/refresh.firefox'
"更改调试文件时刷新
autocmd BufWritePost,FileWritePost */jspro/*.js execute '!echo '' > /tmp/refresh.firefox'
Copy Code 

插件附上,根据情况自行修改。。

autorefresh1.0

扩展名改成xpi拖到firefox就可以安装了