-
感激
本来打算车展完了之后,对期间工作中遇到的问题做个总结,不料随后又紧跟着是车友论坛和网上4S店的开发工作。我对自己说,既然不能喘口气,那就忙死吧!
还记得去年九月份去南京见了晓波,他问我们公司的产品开发流程如何,我一时不知道该怎么回答。时间已经过去了半年多,真正体验之后,觉得只能用“小作坊”三个字来形容。前端人员没有开发机,没有合理的前后端联调模式,只能C+U拷贝网页源码并下载相应的js和css文件,然后本地做好之后,又通过邮件发给专门负责发布的同学。最痛苦的是,发布到测试环境之后,假如运营人员要求改变某处字体颜色,手握测试机权限的发布同学又不懂css,我们前端人员只能把相应的页面C+S到本地,调好css之后又通过邮件发给他们让他们发布,如此反复,不是小作坊是什么!
现在我深刻体会到“一张白纸的人更容易塑造”是怎么一回事,我也在竭力说服自己适应目前的单兵作战模式,其它的我无法改变。尽管我时常把当前的产品开发模式和在淘宝时的做比较,静下来时我又在想,门户作为资讯载体,与淘宝产品线的技术驱动和业务驱动有着根本区别,对技术的重视程度也就没有了可比性。
释然之后,只能安慰自己说,事在人为,进步了就好,只要有进步,就应该感激自己的团队,感激帮助过自己的每一个人。
没有评论 -
抱怨,被同化,逃离
晚上看了一同行的博客,终于鼓起勇气写下面的文字。
距上次更新已经整整五个月,本应该有所改变,但还是落魄如初。二月份升级过空间,域名也续了费,之后还是没更新,就好比从亚马逊买的《不能承受的生命之轻》和《晚安,北京》已经几个月了还没拆封一样。
有时候真想活的简单,像机器一样不断重复着来自人类的指令。世事看的越透彻越懊恼,装疯卖傻也应是一种境界,自命不凡带给自己的只有更多的痛苦。这大半年以来,我就像正弦波一样,不断地爬到波峰再跌落波谷,直至振幅缩减为零变为一潭死水,而我就像这潭死水里还在竭力蹦嗒的一条咸鱼,等待甘露降临时翻身的那一刻。我害怕被同化,来到这个世上,就应该弄出点动静再回去。
思维太活跃不一定就是好事,以至于我经常恐惧工作之余的那段空闲。一个月前买了Kindle,一连看完了《浪潮之巅》和《达芬奇密码》,《王小波全集》也被列入计划。能够安静地沉浸在文字里是一件幸福的事,也许只有这样,大脑才能不胡思乱想。后悔学生时代没看太多的书,只记得大学的借书记录里,90%是技术方面的书籍。当一个人摄取的信息一大半来自网络的时候,他就会变得无比烦躁,本来工作就整天对着电脑,下班之后还要继续从电脑里摄取辐射和人生阅历,很难会有营养。
偏执的我,总会以一个人是否读书,读什么样的书,喜欢听什么类型的歌,来判断他的性格和阅历,也越来越觉得“耐得寂寞拥得繁华,要么读书要么旅行,身体和灵魂总要有一个在路上”这句不知是谁说的名言特有道理。不确定能否成行的川藏线之旅,我就只能让灵魂先行,在书中打发寂寥,顺便寻找宠辱不惊的那般气魄。
隐忍没有什么不好,任何事情迟早都会有一个出口。下个月打算给自己放个小长假,回家看看再去趟西安,但愿也能凑巧参加哥们的婚礼。
不知道乱七八糟写了些什么,只希望下次更新不要等到五个月后吧。
-
也谈iframe高度自适应
先描述下我在最近项目中遇到这个问题的场景。
我们的项目是对某款产品的评测,网页下半部分是用户关于这个产品的微博讨论,评论等等,后台开发同事决定将这部分内容全部放在一个iframe里,通过传入不同的产品ID参数就可以在整个项目中共用这部分代码,但这个内嵌框架里的内容全部是动态加载,并且高度不能确定,这就引出了下边要说的iframe高度自适应问题。
主页面iframe代码:
<iframe width="100%" scrolling="no" frameborder="0" src="http://www.abc.com/content.htm" id="ifr_cmnt"></iframe>
iframe内部代码:
<body> <div id="wrap"> <!--页面其它内容--> </div> </body>JS控制iframe高度自适应方法:
方法一:JQuery选择器。仅在主页面中使用下列代码,这也是代码量最小的一种方法。document.domain="sina.com.cn"; jQuery("#ifr_cmnt").load(function(){ var set_height = jQuery(this).contents().find("#wrap").height(); jQuery(this).height(set_height); });方法二:hash传值。
主页面代码:document.domain="sina.com.cn"; jQuery("#ifr_cmnt").load(function(){ var temp_height = window.frames['ifr_cmnt'].location.hash; var set_height = parseInt(temp_height.slice(temp_height.lastIndexOf("#")+1)); jQuery(this).height(set_height); });内嵌页面代码:
var ifr_height = jQuery("#wrap").height(); document.location.href+=("#"+ifr_height);方法三:传统JavaScript。
主页面代码:document.domain = "sina.com.cn"; jQuery("#ifr_cmnt").load(function(){ var set_height = document.getElementById("ifr_cmnt").contentWindow.document.body.scrollHeight; document.getElementById("ifr_cmnt").height = set_height; });内嵌页面代码:
var ifr_height = jQuery("#wrap").height(); parent.document.getElementById("ifr_cmnt").height = ifr_height;整个过程需要注意几个细节:
a、当页面中包含来自其他子域的框架或内嵌框架时,通过设置document.domain来实现页面间的JavaScript通信。
b、因为浏览器在渲染页面时存在一些差异,比如内嵌页面中有异步加载的数据块,在IE中,首次渲染不会考虑异步加载内容是否成功,导致数据加载完成后iframe区域由于内容高度增加出现滚动条,在Firefox和Chrome等现代浏览器中不会出现这个问题。



