You are at: http://STauren.net
The newest:
| 1347 logs, 45 pages, 1 |
1
|
45 |
3005: 下一块巧克力
- 0/22
- stauren
- 5h19m ago
阿甘正传( Forrest Gump )里面,阿甘说:“My momma always said, "Life was like a box of chocolates. You never know what you're gonna get."” (我妈妈总是说,“生活就像一盒巧克力。你永远也不会知道下一块是什么味道。”)。
最近已经做出了一个很重要的决定,我又开始继续我的旅程,奔向下一块巧克力了: Goodbye Koubei, Goodbye Yahoo, Goodbye Alibaba. Hello Tencent! 下周到北京。
生活就像一个循环,转啊转啊转,不知道什么时候才能停下来,其实有时候会很羡慕很多人一直很安定很稳定的生活,但我总是会不满意,总是会心急,总是想更快更急,毕竟,我没有到能够随心所欲只做开心工作的程度吧,既然我能,我就要试一试,也许会头破血流,也许会不开心,不过年轻就是这样,so what,我总是能让自己开心的。
我是一个慢熟的人,和新的人从认识到了解、到熟悉到能够一起开心的干各种事到开始舍不得,是一个蛮长的过程,就算天天见面似乎也需要半年以上的时间。到离别的时候,都会很难过,也会知道,朋友和好的团队的环境是多么的难得,这也是这次让我如此犹豫的原因吧。来杭州一年三个月里,有着各种的快乐,有了各种的好朋友,有着有滋有味的日子。to everyone I meet in hangzhou : I enjoy the time with you!
不知不觉,毕业已然三年,工作已经三年,我必须承认,自己不是个洒脱的人,曾经听说过一个英国的小伙,辞职了去骑自行车环游了一年,然后再找工作;也和 ieagerly 说过,去三亚的沙滩沙一边看 bikini mms 一边卖烤鱿鱼吧,比做程序员有意思。人生悲哀之一的事情就是,工作做程序员,业余时间喜欢做网站,休闲时间喜欢玩游戏,tmd 整天就是电脑桌前宅到死的胖子宅男。NO!!!~~ 我不要做宅男!
2007年9月21号,我进入了中国雅虎,开始了作为一名代码工人的生活,第一次去那么大的公司,各种忐忑,各种大公司的感觉,进去不久应该是胖了不少的,该死每层楼免费的可乐、咖啡、冰红茶啥的。
我是一个聪明的人。这么说其实不太对,聪明者,耳聪目明,见机反应快,才叫聪明。从这个层面上来说,我是一个逻辑很强很好的人,我适合看一本比较复杂的书,看很多没有意思但是有用的书,并且记住里面的一些东西,并且拿出来装逼,这样是适合我的,可惜最近也挺长时间没有好好看书了。但是,我不是一个聪明的人,聪明的人适应世界很快,聪明的人不会试图让世界来适应自己。这样一个逻辑不错,但是很聪明的我,就应该是像一台计算机一样,放在桌子上,别人输入一个算式,我吐出一个数字。
后来有了机会,后来可以去“封闭开发”一个项目,还是去另一个城市封闭。无容置疑,对于我这么漂泊的人来说,这是肯定要去的,08年3月21日我来了杭州,美丽的西湖畔,湖畔花园三个月的封闭开发,住了三个月的朗逸轩快捷酒店,住到服务员不来给我们打扫房间,吃了三个月湖畔小食堂的饭菜,认识了20多个意气风发的干事情的人,体会了敏捷的可以靠吼叫的迅速的交流,体会了一边喝小二(二锅头)一边写代码,体会了周末去西湖,体会了晚上下班送漂亮同事回家,体会了自己在网球场上装篮球架灌篮,体会了成功后的黄山之行,体会了7月1号转去华星口碑总部,体会了2008年7月1号那天杭州天空上那么那么美丽的紫色的彩霞和彩虹,那时候多么感叹杭州是这么样干净、美丽的城市啊,用这么美丽的虹来欢迎我们,虹的照片,记得我有发过的。
湖畔的封闭是快乐的,这是一种集体的舞蹈,集体是愉快的。我的职业之路其实是孤单的。现在我的对面住着2个小孩子,刚刚从杭州某学校毕业,一起租了一个大房子,俩人白天去找工作面试,或者打游戏,晚上可以至少不孤独。其实我觉得是几个不同的层次,几种不同的生活的选择,毕业和bf、gf一起,毕业和好哥们一起,毕业独自出去闯。我的故事永远都是那么孤单,学生物出来找计算机的工作,还换城市就只能这么孤单,更何况我还是个慢熟的人,我曾经有无比光明的机会,100个人可能有90个都会选择另外的路吧,记得我的老大xk曾经说过我:别人是想做做不了,你是能做不去做。是的,我永远为这点自豪,我是个十分十分聪明的人,或者说,逻辑良好的人,并且骄傲。走题了,像我这么寂寞的独自到上海、去伦敦、回北京的人,突然和20多个人一起去了杭州,20多个人一起住、一起吃、一起玩、一起看电影、一起登山、一起干活,集体的舞蹈确实是更容易的、开心的,独舞是寂寞的。
独舞也不是完全无用的,本站 stauren.net 就是我在上海独舞的时候,很多个寂寞的夜晚和熬夜做出来的。如果不寂寞的话,我想都会充满了电脑游戏和电脑游戏和电脑游戏吧。寂寞的时候可以做学问。不寂寞的时候还可以去西湖骑车,去北高峰登山,去找人打牌,去黄龙体育场看球,去找mm看电影,看之前去楼下一层的游乐场投篮机并且很糗,可以去给公司当模特拍外景。
招待过来杭州玩的朋友,朋友说说,俨然杭州是你的地盘了啊,我说,你tmd就想让我付钱请客吧……
发现这篇文章变成了散文,形散神也散,散得到处都是,散到我生命的 1/25 还要多。
写了10来段了,按照我的习惯,一篇文章如果写了10来段,那么有一个叫 wood 的人应该出场了,这个家伙,要不是这个家伙,我这次真的可能丢不下杭州去北京的。 wood 是一个我崇拜的人,很少有人能如此的比我更聪明,或者说更好的逻辑,嗯,书呆子是会崇拜另外一个书呆子的。一个人的生命中总会被一些人一些事影响的,似乎一开始是从我放不下大学生活开始的,后来,我也早过了怀念大学时光的阶段了,却总是一次一次的北漂,whatever, 我从四川出来,走了这么远,到哪里不是漂,心在的地方,就是家。
一个男人,如果总是婆婆妈妈,去了另一个地方,就是想着另外一个人,总是挂念着她,那么可能是恋爱了,不过我可以申明,我的确不是 homosexual,但是现在我开始念着杭州的兄弟们了。值得高兴的是,我同时也念着杭州的mm们。^_^ 桂林山水甲天下,杭州美女甲天下。听某人转zl说的我老是:动情不动心。嗯,好遗憾的呢。
我是个体力良好的人,是个头脑简单的人,最喜欢的就是,突然有个人给了一个不得不执行的指令,然后把它干到最佳,这点在军训的时候让我觉得很爽,我就是那拉练途中的跑不死,也许今后我应该去美军当个兵啥的。这点在登山的时候也很好,反正大家的目的都是一个,最高的山顶!除了某个现在沐浴在爱河里面的驴一般健壮的人比我领先外,我是第二个登上黄山的天都峰的,当然,我的东西比丫的多多了!我最喜欢的就是,累的跟个傻逼一样,然后痛痛快快无忧无虑的睡去。
黑客帝国( Matrix ) (够二的翻译) 里面 Agent Smith 对 Mr. Anderson 说: without purpose, we would not exist. It is purpose that created us. Purpose that connects us. Purpose that pulls us. That guides. That drives us. It is purpose that defines. Purpose that binds us. Neo 摧毁了他们赖以为生的purpose,于是他们崩溃了。我像一台计算机,我今年也有给自己一个 purpose, 今年春节的时候自己告诉自己的,也告诉了我老妈。这次盒子里的北京巧克力,有部分是这个愿望的原因,毕竟,我还是做到了,哈!
对杭州团队的兄弟姐妹们:真的非常enjoy和你们一起度过的一段,现在我去追求另外的梦了,我会记得你们的,和你们一起,已经是如此的开心了。可以说,这是我工作过的最开心的一个团队了,我的主管也是我觉得最为我考虑最有为我的发展我的工作给我指导的人了。我更希望这些感觉是因为我的成熟让我感到的,我希望我永远都是这么的幸运的。
在最后已经决定要走的时候,一些的情绪开始影响我,另外的选择开始出现,这真的是难。我不知道人生中一共要做多少选择,多少重大的决定。不过,在我的经历中,每一次的选择都是很简单的,原因是,每次都有一个选择明显的比其它的优,于是没有多的考虑,自然就从了。这次让我反复了很久,思考了很久,问了很多人的意见,自己和自己辩论了无数次,做了 swot 分析,列表了比较自己在意的东西,抛了硬币了,却依然不能决定,让我几乎觉得自己是一个优柔寡断的人了。其实,真的很难,因为这两个选择都是有吸引我的地方,而都是代表了未来几年的一种完全不一样的生活,其实我我想确实是怕了,我怕我选择了a,从我身边溜走的那个可能会很美好的b…… 他妈的,真的生气自己。lx,很对不起了。
不过,最后我的选择,其实我还是相信命了,和硬币是一样的,虽然,我不是直接把自己交给命运的,不过还是和硬币的那一面一样的,很操蛋,对不。whatever,我认了。
嗯,这就是另一块巧克力了,杭州的这一块很甜,不过已经吃掉了,盒子打开了,下一块!哈哈哈哈!~
粽子/刘畅/stauren
2009/7/3 02:07
btw : 在深夜安静的时候戴着 SENNHEISER 的耳机一边听 xiami.com 的处女座 FM电台一边写文章很赞。
最近已经做出了一个很重要的决定,我又开始继续我的旅程,奔向下一块巧克力了: Goodbye Koubei, Goodbye Yahoo, Goodbye Alibaba. Hello Tencent! 下周到北京。
生活就像一个循环,转啊转啊转,不知道什么时候才能停下来,其实有时候会很羡慕很多人一直很安定很稳定的生活,但我总是会不满意,总是会心急,总是想更快更急,毕竟,我没有到能够随心所欲只做开心工作的程度吧,既然我能,我就要试一试,也许会头破血流,也许会不开心,不过年轻就是这样,so what,我总是能让自己开心的。
我是一个慢熟的人,和新的人从认识到了解、到熟悉到能够一起开心的干各种事到开始舍不得,是一个蛮长的过程,就算天天见面似乎也需要半年以上的时间。到离别的时候,都会很难过,也会知道,朋友和好的团队的环境是多么的难得,这也是这次让我如此犹豫的原因吧。来杭州一年三个月里,有着各种的快乐,有了各种的好朋友,有着有滋有味的日子。to everyone I meet in hangzhou : I enjoy the time with you!
不知不觉,毕业已然三年,工作已经三年,我必须承认,自己不是个洒脱的人,曾经听说过一个英国的小伙,辞职了去骑自行车环游了一年,然后再找工作;也和 ieagerly 说过,去三亚的沙滩沙一边看 bikini mms 一边卖烤鱿鱼吧,比做程序员有意思。人生悲哀之一的事情就是,工作做程序员,业余时间喜欢做网站,休闲时间喜欢玩游戏,tmd 整天就是电脑桌前宅到死的胖子宅男。NO!!!~~ 我不要做宅男!
2007年9月21号,我进入了中国雅虎,开始了作为一名代码工人的生活,第一次去那么大的公司,各种忐忑,各种大公司的感觉,进去不久应该是胖了不少的,该死每层楼免费的可乐、咖啡、冰红茶啥的。
我是一个聪明的人。这么说其实不太对,聪明者,耳聪目明,见机反应快,才叫聪明。从这个层面上来说,我是一个逻辑很强很好的人,我适合看一本比较复杂的书,看很多没有意思但是有用的书,并且记住里面的一些东西,并且拿出来装逼,这样是适合我的,可惜最近也挺长时间没有好好看书了。但是,我不是一个聪明的人,聪明的人适应世界很快,聪明的人不会试图让世界来适应自己。这样一个逻辑不错,但是很聪明的我,就应该是像一台计算机一样,放在桌子上,别人输入一个算式,我吐出一个数字。
后来有了机会,后来可以去“封闭开发”一个项目,还是去另一个城市封闭。无容置疑,对于我这么漂泊的人来说,这是肯定要去的,08年3月21日我来了杭州,美丽的西湖畔,湖畔花园三个月的封闭开发,住了三个月的朗逸轩快捷酒店,住到服务员不来给我们打扫房间,吃了三个月湖畔小食堂的饭菜,认识了20多个意气风发的干事情的人,体会了敏捷的可以靠吼叫的迅速的交流,体会了一边喝小二(二锅头)一边写代码,体会了周末去西湖,体会了晚上下班送漂亮同事回家,体会了自己在网球场上装篮球架灌篮,体会了成功后的黄山之行,体会了7月1号转去华星口碑总部,体会了2008年7月1号那天杭州天空上那么那么美丽的紫色的彩霞和彩虹,那时候多么感叹杭州是这么样干净、美丽的城市啊,用这么美丽的虹来欢迎我们,虹的照片,记得我有发过的。
湖畔的封闭是快乐的,这是一种集体的舞蹈,集体是愉快的。我的职业之路其实是孤单的。现在我的对面住着2个小孩子,刚刚从杭州某学校毕业,一起租了一个大房子,俩人白天去找工作面试,或者打游戏,晚上可以至少不孤独。其实我觉得是几个不同的层次,几种不同的生活的选择,毕业和bf、gf一起,毕业和好哥们一起,毕业独自出去闯。我的故事永远都是那么孤单,学生物出来找计算机的工作,还换城市就只能这么孤单,更何况我还是个慢熟的人,我曾经有无比光明的机会,100个人可能有90个都会选择另外的路吧,记得我的老大xk曾经说过我:别人是想做做不了,你是能做不去做。是的,我永远为这点自豪,我是个十分十分聪明的人,或者说,逻辑良好的人,并且骄傲。走题了,像我这么寂寞的独自到上海、去伦敦、回北京的人,突然和20多个人一起去了杭州,20多个人一起住、一起吃、一起玩、一起看电影、一起登山、一起干活,集体的舞蹈确实是更容易的、开心的,独舞是寂寞的。
独舞也不是完全无用的,本站 stauren.net 就是我在上海独舞的时候,很多个寂寞的夜晚和熬夜做出来的。如果不寂寞的话,我想都会充满了电脑游戏和电脑游戏和电脑游戏吧。寂寞的时候可以做学问。不寂寞的时候还可以去西湖骑车,去北高峰登山,去找人打牌,去黄龙体育场看球,去找mm看电影,看之前去楼下一层的游乐场投篮机并且很糗,可以去给公司当模特拍外景。
招待过来杭州玩的朋友,朋友说说,俨然杭州是你的地盘了啊,我说,你tmd就想让我付钱请客吧……
发现这篇文章变成了散文,形散神也散,散得到处都是,散到我生命的 1/25 还要多。
写了10来段了,按照我的习惯,一篇文章如果写了10来段,那么有一个叫 wood 的人应该出场了,这个家伙,要不是这个家伙,我这次真的可能丢不下杭州去北京的。 wood 是一个我崇拜的人,很少有人能如此的比我更聪明,或者说更好的逻辑,嗯,书呆子是会崇拜另外一个书呆子的。一个人的生命中总会被一些人一些事影响的,似乎一开始是从我放不下大学生活开始的,后来,我也早过了怀念大学时光的阶段了,却总是一次一次的北漂,whatever, 我从四川出来,走了这么远,到哪里不是漂,心在的地方,就是家。
一个男人,如果总是婆婆妈妈,去了另一个地方,就是想着另外一个人,总是挂念着她,那么可能是恋爱了,不过我可以申明,我的确不是 homosexual,但是现在我开始念着杭州的兄弟们了。值得高兴的是,我同时也念着杭州的mm们。^_^ 桂林山水甲天下,杭州美女甲天下。听某人转zl说的我老是:动情不动心。嗯,好遗憾的呢。
我是个体力良好的人,是个头脑简单的人,最喜欢的就是,突然有个人给了一个不得不执行的指令,然后把它干到最佳,这点在军训的时候让我觉得很爽,我就是那拉练途中的跑不死,也许今后我应该去美军当个兵啥的。这点在登山的时候也很好,反正大家的目的都是一个,最高的山顶!除了某个现在沐浴在爱河里面的驴一般健壮的人比我领先外,我是第二个登上黄山的天都峰的,当然,我的东西比丫的多多了!我最喜欢的就是,累的跟个傻逼一样,然后痛痛快快无忧无虑的睡去。
黑客帝国( Matrix ) (够二的翻译) 里面 Agent Smith 对 Mr. Anderson 说: without purpose, we would not exist. It is purpose that created us. Purpose that connects us. Purpose that pulls us. That guides. That drives us. It is purpose that defines. Purpose that binds us. Neo 摧毁了他们赖以为生的purpose,于是他们崩溃了。我像一台计算机,我今年也有给自己一个 purpose, 今年春节的时候自己告诉自己的,也告诉了我老妈。这次盒子里的北京巧克力,有部分是这个愿望的原因,毕竟,我还是做到了,哈!
对杭州团队的兄弟姐妹们:真的非常enjoy和你们一起度过的一段,现在我去追求另外的梦了,我会记得你们的,和你们一起,已经是如此的开心了。可以说,这是我工作过的最开心的一个团队了,我的主管也是我觉得最为我考虑最有为我的发展我的工作给我指导的人了。我更希望这些感觉是因为我的成熟让我感到的,我希望我永远都是这么的幸运的。
在最后已经决定要走的时候,一些的情绪开始影响我,另外的选择开始出现,这真的是难。我不知道人生中一共要做多少选择,多少重大的决定。不过,在我的经历中,每一次的选择都是很简单的,原因是,每次都有一个选择明显的比其它的优,于是没有多的考虑,自然就从了。这次让我反复了很久,思考了很久,问了很多人的意见,自己和自己辩论了无数次,做了 swot 分析,列表了比较自己在意的东西,抛了硬币了,却依然不能决定,让我几乎觉得自己是一个优柔寡断的人了。其实,真的很难,因为这两个选择都是有吸引我的地方,而都是代表了未来几年的一种完全不一样的生活,其实我我想确实是怕了,我怕我选择了a,从我身边溜走的那个可能会很美好的b…… 他妈的,真的生气自己。lx,很对不起了。
不过,最后我的选择,其实我还是相信命了,和硬币是一样的,虽然,我不是直接把自己交给命运的,不过还是和硬币的那一面一样的,很操蛋,对不。whatever,我认了。
嗯,这就是另一块巧克力了,杭州的这一块很甜,不过已经吃掉了,盒子打开了,下一块!哈哈哈哈!~
粽子/刘畅/stauren
2009/7/3 02:07
btw : 在深夜安静的时候戴着 SENNHEISER 的耳机一边听 xiami.com 的处女座 FM电台一边写文章很赞。
3004: 转 Fenng 的一篇文章 -- 寻找Zion
- 1/427
- stauren
- 7d ago
越来越觉得 The Matrix 真是一部伟大的电影,直接预言了中国互联网的发展趋势。最近接而连三的网络屏蔽事件已经快让人喘不过气来。我相信有一天那群人会在你的身体内植入电子芯片,控制你的的身体与思想,"帮助"你在和谐中得到永生。

"你有狼牙棒,我有天灵盖",即使是网络顺民,最终也会在这样的层层阉割与过滤下激起反抗。总会有人冲破层层封锁,到达锡安(Zion) ,在
Matrix
中被解放的人都将在那儿。在锡安,没有"连接被重置",没有"此信息禁止评论",没有"据当地法律法规和政策,部分搜索结果未予显示"...
在这个信息时代,键盘就是武器,只要敢于说不,1984 就不会持续多久,无处不在"关心"我们的老大哥也将最终瓦解。而那些与强权分食腐肉的鬣狗们,也将得到唾弃与审判。
--EOF--
请看这里吧
3003: 修正YUI editor改变字体大小覆盖其他属性的bug
- 1/938
- stauren
- 15d ago
版本是 YUI editor 2.7.0,全称是YUI Rich Text Editor,富文本编辑器。(BTW, 本blog使用的就是这玩意儿,不过功能配置的比较少)
它的改变字体大小是用了一个很神奇的东西,叫 spin ,一个有上下小箭头的按钮,按上下按钮可以把字体大小加一减一。 但是这有2个问题:第一,箭头太小,很难点中(而且还有选择一次后lost focus的bug);第二,大多数用户不需要这么精细的字体大小控制(默认一共75个级别),其实只要有5、6个级别就行了,很小、小、中、大、超大之类的。总之,多数的已经是,改变字体大小还是用 select 下拉框的样式比较好。
淘宝最新使用的编辑器也是YUI editor, 不过他们做了很多hack,在这里。在这个例子的页面,可以看到,淘宝已经通过包装,在初始化时加入一个自定义的value为 fontsize2 的 select 到toolbar上,然后再监听 fontsize2Click, afterNodeChange 等事件,让 select 被选择的时候,按照响应的字体大小去调用 this.execCommand("fontsize", value + "pt") 的命令,来改变字体大小,于是,我们也有样学样,搬过来做了一套。
于是又发生了一个bug:敲入一行文字,选中一半,改变一下颜色。再次将有颜色的几个字和没有颜色的几个字选中,改变字体大小。结果:字体大小改变了,这几个字也变成了同一种颜色,大部分时候是默认的黑色。 其实后来发现这个 bug 不是 spin 改成 select 后导致的,因为其实是 this.execCommand("fontsize", value + "pt") 中实现的问题,不过,我们还是的解决它)。
经过追踪YUI editor的代码,选择字体大小后,将字体颜色属性去掉或者一部分颜色取代另一 颜色的原因在于,在执行 cmd_fontsize 的时候,调用了 _getSelectedElement 来取得当前选择的元素,然后调用 _createCurrentElement 创建新的同tag元素替换当前选择的元素,创建的时候保留原来元素的大部分样式属性,但是更改 fontSize 来达到改变字体的目的。
冲突的地方在于:用户当前选择的可能不是一个元素,而是 abc<span style="font-color:red">de</span> 这样的一个片段,而这时候 _createCurrentElement 会返回 iframe 的 body 元素,而 body 元素是没有style的颜色等属性的。所以,在随后的 _createCurrentElement 的创建替代原素的时候,所有被标记了 fontname 是 'yui-tmp' 的元素会被用body元素的属性替换,比如无色,这样,原来的颜色就没有了
现在的问题应该在于: yui 调用 _getSelectedElement 的时候,get得到了错误的html 片段。导致 _createCurrentElement 调用时候的参数错误。而 _createCurrentElement 并不是处理一个元素(因为用户可能选中多个元素的,比如一半红色的字一般黑色的字), _createCurrentElement 里面用传入的样式,用 'yui-tmp' 标记找到所有需要修改的元素,用这个统一的样式修改。这里的逻辑就错了
既然 _createCurrentElement 需要处理多个元素,那么,它的除了当前要修改到得属性值(在这里是字体大小),其他的属性值应该是需要被修改的多个元素自身带有的,而不应该用 _getSelectedElement 返回值的这一个元素的属性值来代替(因为在选择了多个元素的时候,这个函数不能返回一个原素,只好返回他们的parent,即 iframe 的 body
所以,现在改写 _createCurrentElement 的逻辑,应该可以解决这个问题。
实际修改了simpleeditor.js 这个源文件,实现如下:
将 6154 行的
修改为:
额外传递字体参数。
在 _createCurrentElement 方法的实现中 6351 行前面插入一行,由:
改为:
调用将要被替换的元素的 style 属性填充新元素的 style 属性,并且用参数里面真正在被设置的属性覆盖原有属性。
经过测试,problem solved.
它的改变字体大小是用了一个很神奇的东西,叫 spin ,一个有上下小箭头的按钮,按上下按钮可以把字体大小加一减一。 但是这有2个问题:第一,箭头太小,很难点中(而且还有选择一次后lost focus的bug);第二,大多数用户不需要这么精细的字体大小控制(默认一共75个级别),其实只要有5、6个级别就行了,很小、小、中、大、超大之类的。总之,多数的已经是,改变字体大小还是用 select 下拉框的样式比较好。
淘宝最新使用的编辑器也是YUI editor, 不过他们做了很多hack,在这里。在这个例子的页面,可以看到,淘宝已经通过包装,在初始化时加入一个自定义的value为 fontsize2 的 select 到toolbar上,然后再监听 fontsize2Click, afterNodeChange 等事件,让 select 被选择的时候,按照响应的字体大小去调用 this.execCommand("fontsize", value + "pt") 的命令,来改变字体大小,于是,我们也有样学样,搬过来做了一套。
于是又发生了一个bug:敲入一行文字,选中一半,改变一下颜色。再次将有颜色的几个字和没有颜色的几个字选中,改变字体大小。结果:字体大小改变了,这几个字也变成了同一种颜色,大部分时候是默认的黑色。 其实后来发现这个 bug 不是 spin 改成 select 后导致的,因为其实是 this.execCommand("fontsize", value + "pt") 中实现的问题,不过,我们还是的解决它)。
经过追踪YUI editor的代码,选择字体大小后,将字体颜色属性去掉或者一部分颜色取代另一 颜色的原因在于,在执行 cmd_fontsize 的时候,调用了 _getSelectedElement 来取得当前选择的元素,然后调用 _createCurrentElement 创建新的同tag元素替换当前选择的元素,创建的时候保留原来元素的大部分样式属性,但是更改 fontSize 来达到改变字体的目的。
冲突的地方在于:用户当前选择的可能不是一个元素,而是 abc<span style="font-color:red">de</span> 这样的一个片段,而这时候 _createCurrentElement 会返回 iframe 的 body 元素,而 body 元素是没有style的颜色等属性的。所以,在随后的 _createCurrentElement 的创建替代原素的时候,所有被标记了 fontname 是 'yui-tmp' 的元素会被用body元素的属性替换,比如无色,这样,原来的颜色就没有了
现在的问题应该在于: yui 调用 _getSelectedElement 的时候,get得到了错误的html 片段。导致 _createCurrentElement 调用时候的参数错误。而 _createCurrentElement 并不是处理一个元素(因为用户可能选中多个元素的,比如一半红色的字一般黑色的字), _createCurrentElement 里面用传入的样式,用 'yui-tmp' 标记找到所有需要修改的元素,用这个统一的样式修改。这里的逻辑就错了
既然 _createCurrentElement 需要处理多个元素,那么,它的除了当前要修改到得属性值(在这里是字体大小),其他的属性值应该是需要被修改的多个元素自身带有的,而不应该用 _getSelectedElement 返回值的这一个元素的属性值来代替(因为在选择了多个元素的时候,这个函数不能返回一个原素,只好返回他们的parent,即 iframe 的 body
所以,现在改写 _createCurrentElement 的逻辑,应该可以解决这个问题。
实际修改了simpleeditor.js 这个源文件,实现如下:
将 6154 行的
this._createCurrentElement('span', {'fontSize': value, fontFamily: el.style.fontFamily, color: el.style.color, backgroundColor: el.style.backgroundColor });修改为:
this._createCurrentElement('span', {'fontSize': value, fontFamily: el.style.fontFamily, color: el.style.color, backgroundColor: el.style.backgroundColor }, {'fontSize' : value});额外传递字体参数。
在 _createCurrentElement 方法的实现中 6351 行前面插入一行,由:
_tmp[i].parentNode.replaceChild(el, _tmp[i]);
改为:
YAHOO.lang.augmentObject(el.style, _tmp[i].style, arguments[2] || {});
_tmp[i].parentNode.replaceChild(el, _tmp[i]);
调用将要被替换的元素的 style 属性填充新元素的 style 属性,并且用参数里面真正在被设置的属性覆盖原有属性。
经过测试,problem solved.
3002: twitter 被封了
- 0/1634
- stauren
- 30d ago
twitter.com 封了, flickr 封了,wiki 封了,可怜的 bing.com,才推出几天,就被封了……
tmd 河蟹
tmd 河蟹
3001: 想用表单验证的人还真挺多的
- 1/2442
- stauren
- 54d ago
这个开源项目: http://code.google.com/p/yui-form-validator/
开源以来,虽然很少更新,我已经碰到不少的事儿了,除了上回那个上海节能网以外,今天又一次收到国外友人的咨询,还小拍了我一下:
做开源项目的时候,书写常用的示范的例子、有着良好的代码书写习惯、良好的程序结构、明确而简短的纯英文的注释以及项目明确的目的和特点,是会有帮助的。
开源项目的路上,还有更多的事情好做,在路上,在努力,嗯
开源以来,虽然很少更新,我已经碰到不少的事儿了,除了上回那个上海节能网以外,今天又一次收到国外友人的咨询,还小拍了我一下:
I try your code and i must say is the best on the net -regarding compatibility and utility嗯,我是个浅薄的人,不过丫拍得我真的很爽。做开源项目的时候,书写常用的示范的例子、有着良好的代码书写习惯、良好的程序结构、明确而简短的纯英文的注释以及项目明确的目的和特点,是会有帮助的。
开源项目的路上,还有更多的事情好做,在路上,在努力,嗯
3000: 发图
- 1/115
- elenewton
- 55d ago
2999: 我还是很会写文章的
- 0/2450
- stauren
- 55d ago
2998: 基哥也走了……
- 1/116
- woodsprite
- 57d ago
2997: 口罩到底有什么用?
- 2/2625
- stauren
- 61d ago
2996: @2009.3.29(zz)
- 1/134
- woodsprite
- 66d ago
2995: 用ABCDEFG造句:
- 0/147
- woodsprite
- 70d ago
2994: fuck
- 1/131
- woodsprite
- 71d ago
2993: 上海节能网和google analytics
- 0/2630
- stauren
- 74d ago
2992: 分歧争端机stauren版本
- 0/2606
- stauren
- 76d ago
2991: 4.15 算法题 寻找符合条件的另一个乘数
- 3/2595
- stauren
- 78d ago
2990: read this news!
- 1/177
- woodsprite
- 79d ago
2989: 4.14 算法题2 求最大公约数
- 10/2687
- stauren
- 79d ago
2988: 4.14的算法题,寻找最大的K个数
- 6/2330
- stauren
- 79d ago
2987: css naked day
- 0/1758
- stauren
- 84d ago
2986: callback vs events
- 0/1101
- stauren
- 85d ago
2985: yui selector fails in IE8
- 0/413
- stauren
- 101d ago
2984: 没有unstuck时候的某搞笑视频
- 1/226
- woodsprite
- 117d ago
2983: iphone 3G
- 1/327
- stauren
- 119d ago
2982: 使用 iconv 自动判断文件编码
- 1/481
- stauren
- 119d ago
2981: Quakelive已经上线
- 1/328
- elenewton
- 120d ago
2980: YUI上传文件的responseText及用js解码html
- 0/395
- stauren
- 124d ago
2979: 删除ubuntu,重建MBR
- 1/916
- stauren
- 136d ago
2978: 涉及宣扬迷信,暴雪商标注册被驳回
- 0/260
- stauren
- 136d ago
2977: 今天是个特别的日子,2009-02-14
- 1/333
- stauren
- 138d ago
2976: cygwin和中文和utf8和中文帮助乱码黑屏的解决办法
- 0/777
- stauren
- 148d ago
