Koala v1.0.1发布

Koala v1.0.1 发布

下载地址:http://koala-app.com/index-zh.html#download

更新日志:

  • Compass项目支持config.rb配置。
  • 支持文件批量操作,可以批量设置output path与删除文件。
  • 支持拖拽添加文件到当前项目。
  • 设置output path时弹出的文件(目录)选择窗口直接定位到相关目录。
  • 修复无法保存项目配置的问题。
  • 修改Mac OSX下无法启动的问题。

欢迎体验!

解决iScroll横向滚动区域无法拉动页面的问题

近期项目中使用iScroll遇到一个问题,在设定wrapper为横向滚动时,如果你手指放在该区域,将无法拉动页面,也就是说该区域取消了默认事件。这个体验是实在是无法接受,特别是页面中有多个横向滚动区域时,很容易触碰到这种区域,这时用户将觉得页面很卡。

Google搜了一下,看来很多人都为这个问题而烦恼。有高人给出了解决方案,在这里可以找到。

代码如下:

myScroll = new iScroll('scrollpanel', {
    // other options go here...
    vScroll: false,
    onBeforeScrollStart: function ( e ) {
        if ( this.absDistX > (this.absDistY + 5 ) ) {
            // user is scrolling the x axis, so prevent the browsers' native scrolling
            e.preventDefault();
        }
    }
});

重写onBeforeScrollStart事件,判断touch的滑动距离,只在横向滑动距离大于竖向滑动距离时(也就是左右滑动时)才取消默认事件,这样就不影响页面滚动了。看iScroll源码,onBeforeScrollStart: function (e) { e.preventDefault(); }, 它默认是直接取消默认事件。

到这里的时候感觉就不错了。但是不要高兴的太早。

上下滑动横向滚动区域,页面确实可以滚动了,但在多体验了几次页面之后,又出现了一个问题。

先左右滑动该区域,滚动停止后再按住该区域想滚动页面,你会发现它还是不能滚动页面,这时你再点击一次该区域,这时可以了。这相对于你需要触摸2次才能滚动页面, 这样的行为还是让人无法接受。

经过多翻测试,我把问题锁定到absDistX/Y上。最后发现,在左右滑动之后absDistX/Y的值不会重置,第二次滑动该区域时执行onBeforeScrollStart事件,里面absDistX/Y值是上一次的值,所以程序还是阻止了页面滚动。

解决方法如下:

myScroll = new iScroll('scrollpanel', {
    // other options go here...
    hScroll: true,
    onBeforeScrollStart: function ( e ) {
        if ( this.absDistX > (this.absDistY + 5 ) ) {
            // user is scrolling the x axis, so prevent the browsers' native scrolling
            e.preventDefault();
        }
    },
    //解决第一次无法滑动的问题
    onTouchEnd: function () {
	var self = this;
	if (self.touchEndTimeId) {
		clearTimeout(self.touchEndTimeId);
	}

	self.touchEndTimeId = setTimeout(function () {
		self.absDistX = 0;
		self.absDistX = 0;
	}, 600);
    }
});

在onTouchEnd里面做处理,每次滑动之后都重置absDistX/Y的值。为什么要使用setTimeout?其实是为了防止误判断,太敏感也不好,有时候你只是想左右滑动虽然滑动的角度有点朝上或朝下。

Ok,现在终于爽了,想怎么滑都行。体验一下!

前端开发利器——Koala v1.0正式发布

koala

 

koala是一款开发者工具,负责对less、sass、coffeescript的编译工作,帮助web开发者更高效地使用less、sass、coffeescript开发。

项目地址:http://koala-app.com/index-zh.html

下载地址:

 Ubuntu 用户可以使用deb安装包安装程序(推荐):
功能特性:
  • 多语言支持:支持less、sass、coffeescript 和 compass framework。
  • 实时编译:监听文件,当文件改变时自动执行编译,这一切都在后台运行,无需人工操作。
  • 编译选项:可以设置各个语言的编译选项。
  • 代码压缩:less & sass支持编译后自动代码压缩.
  • 错误提示:在编译时如果遇到语法的错误,koala将在右下角弹出错误信息,方便开发者定位代码错误位置。
  • 跨平台:windows、linux、mac都能完美运行。

 

更多使用方法:http://koala-app.com/index-zh.html

 

项目当中越来越多地使用到less,现有的一些工具如winless、simpless功能都比较单一,无法满足开发要求,所以干脆就自己写了一个。

koala是基于nodejs + webkit开发而成,大部分人都无法想到nodejs也能用来开发桌面应用,事实告诉我们是可以的。

这里有一个非常棒的项目,它结合了node与webkit,使用node做为后端处理语言,webkit做为前端界面,这样简直是天作之合,现在前端开发者也能开发桌面应用了。node webkit项目地址:https://github.com/rogerwang/node-webkit

 

 

 

如何调试less & sass

很多同学都已经开始在项目使用lesssass,它们用起来确实是很爽,大大提高效率呀。

less & sass 都无法在浏览器中直接执行,需要变成CSS。有时候想调试样式,我们看到的行号是css代码的行号,并不能直接对应到less&sass文件中,修改起来总是不方便。

看到less&sass这么受欢迎,热情的开发者们给firefox开发了一个插件 FireSass,后来chrome也跟上了,开启一个实验性功能支持sass调试。

具体设置如下:

Continue reading »

如何在IIS下部署php程序?

一般我们使用LAMP或者WAMP组合,但有时候我们想在windows服务器同时下跑.net与php,这时就必须使用IIS了。IIS是支持php的,而且配置也很简单。

具体操作:

1、打开IIS的CGI功能。

控制面板–打开或关闭windows功能。

2、下载最新php程序,解压到某个目录。

3、安装PHP Manager for IIS,下载地址:http://phpmanager.codeplex.com/

4、添加一个应用程序池PHP Pool,.NET Framework版本选择“无托管代码”,托管模式选择“集成”。

5、新建站点,应用程序池选择PHP Pool。

6、在网站列表中选中刚刚创建的站点,在右侧的功能视图中找到并打开PHP Manager,点击Register new PHP version,选择刚刚解压的PHP程序目录下php-cgi.exe。

Ok,到这里IIS就能部署PHP程序了。

[转载]前端开发工程师如何在2013年里提升自己

原文地址:Talks To Help You Become A Better Front-End Engineer In 2013

这篇文章其实文字部分不多,强烈推荐大家直接阅读原文,我这里主要是把文章里介绍的PPT简述一下,方便大家寻找。

===========================================================

大部分人非常在意个人在技术上的提升。但是保持对新技术的了解是一项不小的挑战, 毕竟我们需要的信息在数量上过于庞大。2012年里,伴随着前端发展的是大量的革命性突破和对前端的重新定义。

我们在实践的路上飞速前进,具体的进步体现在使用抽象化,优秀的代码质量,维护性上的提升以及更好的性能。如果你实在忙到没有时间来跟上最新的技术,不用担心。

随着假日的来临,我们就有了一些空闲的时间可以自己支配,我想,如果我把我收集的前端相关的精品讨论列表分享出来,那一定会对大家有一些帮助。你不需要把所有的都阅读一遍,但是这些相关的建议会让你了解更多相关的知识,为明年成为一名更好的前工程端开发师做准备。

Continue reading »

ubuntu下安装windows7

今天同事拿来一台联想的笔记本,预装的Ubunt11.10,要我给他装个windows7系统。
电脑没有光驱,最先想到的是USB安装windows7。向另一同事要了个刻好了系统U盘,但面临一个问题,需要给硬盘分区。由于机子默认下把硬盘分为了3个区:”/”、”/swap”、”/home”,没空余空间了。这时在ubuntu自身系统下分区肯定是行不通的。我最先想到的是安装个puppy linux,然后在putty里进行分区。原本想把puppy装到U盘上的,后来想干脆直接在ubuntu下引导启动puppy。
Continue reading »

在Google搜索上显示作者信息

看到一些搜索结果上都会带有头像等作者信息,是不是感觉很酷。

这个Google搜索提供的一个数据,事先需要在页面上配置文档格式,采用Hcard标准。
首页需要开通Google Plus,然后在Authorship页面激活你的账户。
激活后在博客页面中添加你的Google+身份的链接:

<a href="[profile_url]?rel=author">Google</a>
<a href="https://plus.google.com/109412257237874861202?rel=author">Google</a>

到这里添加你的站点:http://plus.google.com/me/about/edit/co

ok了,你可以到这里预览搜索结果:rich snippets testing 。当然你页面的包含Hcard格式的内容,否则它会提示验证不通过。

参考地址:http://support.google.com/webmasters/bin/answer.py?hl=en&answer=1408986

Ubuntu下配置双显示器

最近把家里的显示器搬过来了,在加也享受双显示器的生活。
平时在家使用Ubuntu桌面,我的显示器是1440*900的,ubuntu默认下只有800*600、1204*768两个选择,在网上搜罗一翻后把分辨率给解决了。
此方法不需要安装显卡驱动,环境Ubuntu12.04.
Continue reading »