welefen 发布于 04月19, 2016

如何把 Callback 接口包装成 Promise 接口

原文:http://welefen.com/post/how-to-convert-callback-to-promise.html

前端开发尤其 Node.js 开发中,经常要调用一些异步接口,如:文件操作、网络数据读取。而这些接口默认情况下往往是通过 Callback 方式提供的,即:最后一个参数传入一个回调函数,当出现异常时,将错误信息作为第一个参数传给回调函数,如果正常,第一个参数为 null,后面的参数为对应其他的值。

阅读全文 »

welefen 发布于 05月16, 2013

Fl发布将图片使用DATA URI的功能

上篇文章里介绍了使用图片的DATA URI进行优化,提到了之前实现方式的弊端,同时给出了新解决方案的思路。

目前该功能已经开发完成,集成在Fl中。你可以去https://github.com/welefen/Fl下载最新的FL代码。

如何使用

require_once "path/to/fl/Fl.class.php";
Fl::loadClass("Fl_Css_DataUri");
$instance = new Fl_Css_DataUri($cssContent);
$instance->getImgRealPath = "get_img_real_path_fn";
$options = array(
    'maxlength' => 3000 //使用DATA URI的图片最大值,如果大于这个值,则不使用DATA URI模式
);
$output = $instance->run($options);
$ie6Text = $output['ie6'];
$css3Text = $output['css3'];

阅读全文 »

welefen 发布于 05月16, 2013

关于图片DATA URI的更多优化

我们知道,对于很小图片使用DATA URI可以减少图片的请求次数,从而达到优化的目的。但IE6、IE7并不支持(不讨论另类的方式让IE6、7也支持),所以一般是下面的处理方式:

阅读全文 »

welefen 发布于 03月20, 2013

如何判断png图片是否含有alpha通道的透明

介绍

关于png的乱七八糟的一些东西这里就不说了。在前端的日常开发中,我们经常要用到png图片,由于IE6默认是不支持图片含有alpha透明的,这时候一般就要用到一些hack方式了。常用的方式有:

  1. CSS里添加filter(手工添加很麻烦)
  2. 用gif来代替(有瑕疵)
  3. 使用vml(JS来实现,并且动态操作DOM时可能也要调用)

阅读全文 »