Chrome 插件:新版gmail 去广告,调整textarea高度

textarea高度不合适,你可以自己修改。(注册一个userstyles账户,然后自定义你自己的样式。)

http://userstyles.org/styles/56435/resize-gmail-textarea?r=1321457269
其实这个也支持其他浏览器。

Chrome直接点击这里安装:http://userstyles.org/styles/userjs/56435/resize%20gmail%20textarea.user.js?

发表在 交互设计 | 留下评论

How to fix cross-domain with local mode in firefox?

How to fix cross-domain with local mode in firefox?

Demo Link: http://www.d5s.cn/example/js/cross-domain.html

1. PHP Code

<?php
  header('Access-Control-Allow-Origin: *');
  header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
  header('Access-Control-Max-Age: 1000');
  if(array_key_exists('HTTP_ACCESS_CONTROL_REQUEST_HEADERS', $_SERVER)) {
    header('Access-Control-Allow-Headers: ' . $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']);
  } else {
    header('Access-Control-Allow-Headers: *');
  }
  if("OPTIONS" == $_SERVER['REQUEST_METHOD']) {
    exit();
  }
?>

2. Apache Config

<VirtualHost *:80>
  DocumentRoot "/Users/owen/web/www.skyway.com"
  ServerName www.skyway.com
  Header always set Access-Control-Allow-Origin "*"
  Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS"
  RewriteEngine On
  RewriteCond %{REQUEST_METHOD} OPTIONS
  RewriteRule .* / [R=200,L]
</VirtualHost>

3. about:config

Execute this code before call the request.open() each times.

  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect UniversalBrowserRead");
  signed.applets.codebase_principal_support = true

Server Code

1. Source Code: gp.php (Need change firefox setting)

<?php
  if($_GET['a']){
    echo 'Get: '.$_GET['a'];
  }
  if($_POST['a']){
    echo 'Post: '.$_POST['a'];
  }
?>

2. Source Code: gpo.php (√ Nothing change in client side and both working in Firefox and Chrome)

<?php
  header('Access-Control-Allow-Origin: *');
  header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
  header('Access-Control-Max-Age: 1000');
  if(array_key_exists('HTTP_ACCESS_CONTROL_REQUEST_HEADERS', $_SERVER)) {
    header('Access-Control-Allow-Headers: ' . $_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']);
  } else {
    header('Access-Control-Allow-Headers: *');
  }
  if("OPTIONS" == $_SERVER['REQUEST_METHOD']) {
    exit();
  }
  if($_GET['a']){
    echo 'Get: '.$_GET['a'];
  }
  if($_POST['a']){
    echo 'Post: '.$_POST['a'];
  }
?>

 

发表在 交互设计, 程序 | 留下评论

重游17 miles

当年第一次去17 miles的时候,就已经被她的美丽折服,但是那次并没有购门票,开进景区里面,而这次我们决定进去。

悠闲的海鸥,不知道什么害怕。

路过当年吃午饭的小饭店,但这次我们没有进去,自带了食物。

银白色的沙滩和白色的海浪。

和上面的一张图对应,我站的地方,其实是一个很大的湾。

海浪阵阵,只有近海的沙滩,才没有海藻的侵袭。

高尔夫球场,装B专用球场。

沙滩上,人很少,几乎就是一个人占领一片沙滩。

肥的屁股都快没有了的松鼠。

我想要一座房子:面朝大海,春暖花开。这个就是。

路边的青草,蓝天、沙滩、礁石、海浪,终觉得这张图很美。

花丛中,少了MM。远处大树和高尔夫球场,是私人领地,进去可能会被狙掉。

枯藤老树昏鸦,这里只有老树。

非常可爱的小女孩,蹒跚的学走路,目测估计1岁半左右。
要是我家的女儿,在成长的过程中,有这么好的环境,该多好啊。

发表在 生活工作 | 留下评论

灯塔

出差2周,2个周末,4天,1次Great Mall,, 3次Gilroy,疯狂的购物,一次都没有出去旅游过。

主要是司机都呆的太久了,哪里都不想去,真怀念上次一起出差的刘大招,和她一起什么都不用想,只需要陪玩儿就行了。

这是第3个周末,不能再去购物了,该出去转转了。这周终于计划出去了,去看一个传说中的灯塔。

去的时候,穿过三藩,翻过高山,山路崎岖,但感觉很好。

一路上,从夏天到冬天,从晴天到大雾,穿梭于各种气候环境中。

妈妈过冬天,女儿过夏天。

这个时候,其实已经到了终点–灯塔。但是雾太大,没有拍全景照片,看这个花就知道这里有多冷,上面仿佛有一层霜。

可惜雾太大,否则坐在长椅上,看海,应该感觉很好。

路边的小花,摇曳的开着。

与山融为一体的大树。

母子两个,仿佛是家鹿一样,根本没有害怕人的概念,没有感受过,就真不知道什么是人与自然的和谐。
其实在翻山的时候,也遇到了两只鹿过马路,所有的车一致让行。

房子总是依树而建,感觉很好。

再来一个远景。

不知道这是哪个小动物的头骨。

这种地貌的岩石,不应该出现在这里。

一组怪石。

下面的大海,暗礁林立,到处都是漩涡,海浪声音不断,适合听着海浪睡觉。

其实这才是今天此行的主角–Light House。

主角中的明星–灯塔。

没有赶上好时机,一直都是大雾,或许晴天的时候,景色会好很多。

发表在 生活工作, 程序 | 2 条评论

用vi删除某一列

vi   中如何一次删除多列? 

如: 

123aaaaa 
!@#aaaaa 
ABCaaaaa 
+-/aaaaa 


在   vi   中如何一次删除前   3   列呢?

最简单的方法:
1. 先ctrl-v进行visual   block模式

2. 移动光标,按列选择你要删除的列

3. 然后按x命令删除。

具体讲,光标先移动到第一行,第一列,然后按ctrl   +   v,

然后把光标移动到第三行,第三列,再按x键。

就可以删除前三行前三列。

——————————

Ctrl+V, G 之后再右移光标选种几列进行删除x
如果不用G的话,可以手动自己移动光标进行选择,最后删除

当然如果用cut和awk也是可以实现的

比如删除第10列,

文件有100列

cut -d ” ” -f 1-9,11-100 urfile

or:

awk ‘{$10=”",print}’ urfile

发表在 服务器&PC | 3 条评论

Selenium 测试笔记

好久没做Selenium的测试了,命令几乎都忘记了。

做个笔记,方便下次查询。

Firefox的另一个插件: Firefinder很好用,比Selenium自带的找DOM工具要方便,尤其是像用GI这种 JS Framework 开发出来的产品。

1. 根据文字内容来确定结点,去除文字中的空格。
//td[@jsxtype="text"]/div[contains(normalize-space(text()), 'app3')]

2. 查找父级元素
//div[@class="abc"]/..

3. focus, mouseOver, click连用,某些时候,点击事件无效的时候可以试试

focus | //span[@label="applications"] |
mouseOver | //span[@label="applications"] |
click | //span[@label="applications"] |

4. Selenium 去前后空格后验证 (正则表达式)
//a[contains(text(),"name")]/following::td[1][normalize-space(text())='Text Box']

5. Selenium 用带正则表达式的 replace 来 替换 字符
store | https://xx.com//g.php?t=xxx | url
storeEval | “${url}”.replace(/&/g,”*”) | urlResult
echo | ${urlResult} |

6. waitForXXX,不好使的时候,就先Pause暂停一段时间。

7. type 不好使的时候,试试命令组合 focus, type, fireEvent(blur)

发表在 交互设计, 程序 | 留下评论