zzbo

唏嘘的感慨一年年。。。

2013年1月25日 #

IE8半透明不显示出文字

摘要: 今天发现原生IE8下面有一个神奇的bug,为什么这里说是原生IE8呢,因为我们在检查页面时,如果装了IE9,大多数都只是会调出IE8模式来使用。曾经我也非常相信这样的调试是准确的,因为毕竟是微软自带的东西,没理由会搞出差异化。直到今天,我发现事实并不是这样的。大家可以拷贝下面的代码自己查看一下,就会知道。(推荐使用虚拟机,XP自带的IE6升级到IE8 ,或WIN7自带的IE8)。<!DOCTYPE HTML><html lang="zh"><head> <style type="text/css"> .wr 阅读全文

posted @ 2013-01-25 00:08 zzbo 阅读(3878) 评论(0) 推荐(0)

2012年12月10日 #

解决IE6,IE7不能隐藏绝对定位溢出的内容

摘要: 最近在做项目时遇到一个奇怪的样式问题,因为刚换了工作, 新公司的分工比较细,所以我也很少写样式了。现在遇到这样的问题,记录一下。关于这个问题,是在IE6和IE7下才会有的,万恶的IE啊。先看代码:CSS:#wrap { width: 1000px; height: 500px; margin: 0 auto; border: 1px solid red; overflow: hidden;}#box { width: 100px; height: 30px; background: #EEE; position: relative; }#i... 阅读全文

posted @ 2012-12-10 21:25 zzbo 阅读(2434) 评论(0) 推荐(0)

2012年8月26日 #

web跨域通信方法总结

摘要: 出于安全的原因,浏览器对跨域通信上做了一些限制,这是理所当然的,否则就可以就会出现各种获取用户私密数据的问题。但在实际开发中,我也会有跨域通信的需求,跨域要求不同域名之间做配合,单方面可是做不了的。1,通过间隔时间来不断获取hash值。//占位编辑2,JSONP//占位编辑3,借助于FLASH//占位编辑4,用HTML5的APIHTML5提供了一个可以让我们跨域通信的API:postMessage,我们先看一下浏览器对这个API的支持情况。Internet Explorer 8.0+, Chrome 2.0+、Firefox 3.0+, Opera 9.6+, 和 Safari 4.0+基本用 阅读全文

posted @ 2012-08-26 18:34 zzbo 阅读(1323) 评论(0) 推荐(0)

2012年2月17日 #

[设计模式]门面模式

摘要: 在写门面模式之前,我总结了一下,觉得门面模式的写法和单体模式有些相似。但查阅过一些资料和朋友讨论之后,发现门面模式主要偏向于解决一些差异化的问题。我们先看一个简单的例子。//这是一个简单的门面模式例子,一个需求在不同的浏览器里有差异化。var Facade = {};Facade.isIE = function(){ if(document.all){ alert("这是IE"); //do something... }else{ alert("这不是IE"); //do something... }}假设现在要设计一个... 阅读全文

posted @ 2012-02-17 17:20 zzbo 阅读(507) 评论(0) 推荐(0)

2012年2月15日 #

[设计模式]适配器模式

摘要: 适配器模式目的在于使原本由于接口不兼容而不能一起工作的那些类可以一起工作。假如有一个项目原本是用prototype开发,现在需要用YUI。我们知道,YUI选择器的使用方法应该这样写的://YUI选择器YAHOO.util.Dom.get();而prototype的选择器使用方法//使用prototype的选择器写法$.apply(window,el);好了,知道两种Javascript库的选择器使用方法后,我们再看回原来的问题。我们可以设想一下,项目原本用的是prototype开发的,如果要获取某ID元素,那么代码中必然有//假设在原本项目中使用了prototype,代码会有以下的写法。$(& 阅读全文

posted @ 2012-02-15 17:12 zzbo 阅读(217) 评论(0) 推荐(0)

2012年2月14日 #

[设计模式]桥接模式

摘要: 桥接模式可以把抽象类和实现类进行各自封装和扩展,目的在于解耦。由于桥接模式可以增强了组合性,我们可以很灵活地修改类,并且很好地重用。我们可以先看一下简单的片断://这是一个演示简单的桥接模式片断(本例子只假设在标准浏览器情况下)//先获取DOMvar DomA = document.getElementById('divA');//给DomA绑定事件DomA.addEventListener('click',funcA,false);//定义funcAfunction funcA(){ var id = this.id; alert("I'm 阅读全文

posted @ 2012-02-14 12:02 zzbo 阅读(353) 评论(0) 推荐(1)

[设计模式]装饰者模式

摘要: 装饰者模式有点像单体模式,无非就是动态给一个对象添加一些属性或方法,扩展比较方便。我不明白为什么会取这个名字,难道给对象添加功能也被看作是装饰吗?呵呵。我们先来看一个单体例子//这是一个简单的单体例子var testObj = { a:function(){}, b:function(){}, c:{ d:function(){alert("hello")}, e:function(){} }}非常简单明了的单体,如果要往这个对象里面的子对象c添加方法,则这样写:testObj.c.f = function(){this.d()}怎样?是不是... 阅读全文

posted @ 2012-02-14 11:41 zzbo 阅读(281) 评论(0) 推荐(0)

2012年2月13日 #

[设计模式]工厂模式

摘要: 工厂模式也是Javascript比较常用的模式。他主要是提供一个创建一系列相关或相互依赖对象的接口,而不一定要指定它们具体的类。工厂模式的精髓在于可以选择类或函数等,通常是用来动态创建对象。是不是看起来有点难懂?还是看代码吧。//这是一个工厂模式例子(隐式选择)function createXML(){ if(typeof XMLHttpRequest != "undefined"){ return new XMLHttpRequest(); }else if(typeof window.ActiveXObject != "undefined"){ re 阅读全文

posted @ 2012-02-13 17:07 zzbo 阅读(266) 评论(0) 推荐(0)

[设计模式]单体模式

摘要: Javascript中的单体模式是常用的模式,也是最基本的一种模式。先说说有哪些优点,当然不止有两个优点,呵呵。通常我们定义的函数或变量都会是在全局里,当然,把变量写在函数里并用var去定义的话,固然这个变量的作用域是在这个函数里面。单体模式的优点是:1、可以减少变量冲突,当然闭包也可以实现这点。2、把功能代码都组织在一起,方便阅读和维护。3、可以有更好的分支处理。下面先来一段单体模式代码//这是一个单体模式示例,就拿近期的项目来说明//呵呵,看下面的变量名,认识我的人,都知道是哪个项目啦。那项目就是用了单体模式。var XZB = { namespace:function(){ ... 阅读全文

posted @ 2012-02-13 16:52 zzbo 阅读(446) 评论(0) 推荐(0)

为Javascript和CSS加密,Jasob工具

摘要: 众所周知,前端代码Javascript和CSS都是很容易拿到手的,网站上线后,就等于把自己辛苦写的JS和CSS公布出去了。从此以后,网站风格就这样被copy了,是不是狠心疼啊。平时前端工程师多数使用YUI Compressor,这是雅虎免费的工具,但这里我为大家推荐的却是Jasob工具,er....sorry,这是一款共享软件。不过我试用过后,真的狠犀利。与其说Jasob是压缩工具,不如说他是一个混淆器。使用Jasob混淆以后,Javascript代码大小将为原来的30%使用Jasob混淆以后,Javascript的变量将被重写成d、g、y等,即使别人拿到代码也难以解读。使用Jasob混淆以后 阅读全文

posted @ 2012-02-13 15:15 zzbo 阅读(5861) 评论(0) 推荐(0)

导航