星空之旅

我就是我,我就是那天边的一颗孤星,发出与众不同的光芒

【转】淘宝上差评的原因【超搞笑】

 1,野生榛子差评[详情]榛子壳很硬,吃完这一斤,我的牙都快掉了,为了增加重量多收邮费,还往箱里塞一块破铁。

解释:你细看那块铁,中间是否有个螺丝,再往下看,是不中间有条缝,沿着这个缝用力分开---这块破铁就是给你夹榛子壳用的特制钳子!

2`物品名称:益达口香糖差评[详情]我要的是口香糖,但结果送来了一块象白乎乎的东西,甜死.无法吃.2006.04.04 16:56

解释:晕死,那是我送你的白巧克力啊,口香糖包在下面报纸里面呀,不会扔垃圾桶了吧?快去找找

中国,请放慢你跃进的脚步!

 中国不需要一个新的大跃进

或者称之为大跃进2012?

中国老百姓不需要世界排行前列

需要的只是有安全感的平实生活

需要的是不用担心吃东西被毒死上班被70码出事故被35人生命被奇迹

为什么上层领导都只注重面子工程

民众身体素质活动场地都普遍较差的情况下却只关注着拿金牌银牌

民众都在高房价高物价高消费的水深火热中挣扎却只在乎去年今年GDP涨了多少世界排行多少

人均收入世界垫底却只高呼国民生产总值世界第几

从基层到高层已经习惯性腐败官僚作风严重却日日笙歌山呼党国万岁过完90大寿已经开始憧憬下一个大庆

当一个灾难还未完结当受伤害的心灵还未平复就已经开始忙着筹办庆功会颁奖礼

打江山不易守江山更难

一个庞大的国家需要的是稳固的根基扎实的基础

不是拖着破败不堪的身躯打肿脸充胖子

这已经不是大跃进年代了

这已经不是唱着红歌喊着口号就能赶超英美的年代了

中国人民迫切想要幸福感安全感

中国,请放慢你跃进的脚步吧

你的子民已经跟不上你浮夸的脚步

你的灵魂已经被遗忘到身后

等一等你的道德

等一等你的良知

让每一个生命都重拾自己的尊严!

JS操作客户端缓存简单小函数

用getCookie,addCookie,deleteCookie三个小函数来对客户端缓存进行获取、添加、删除的操作

 /*获取document.cookie中指定名字的cookie
若cookie形如:a=1;b=2;c=3;那么getCookie('a')返回1
若形如a=1;b=x=1&y=2;那么getCookie('b')返回数组['x=1','y=2'];getCookie('b','x')返回1,getCookie('b','y')返回2
*/
var getCookie=function(name,name2){
    var strCookie=document.cookie,arrCookie=strCookie.split(';'),i=arrCookie.length,arr,i2,TmpStr;
    while(i--){
        TmpStr=(arr=arrCookie[i]).split('=');
        if(TmpStr[0].replace(' ','')==name){
            if((i2=TmpStr.length)==2){
                return TmpStr[1];
            }else{
                TmpStr.shift();
                TmpStr=TmpStr.join('=').split('&');
                if(name2==undefined){
                    return TmpStr;
                }else{
                    i2=TmpStr.length;
                    while(i2--){
                        if((arr=TmpStr[i2].split('='))[0].replace(' ','')==name2)return(arr[1]);
                    }
                }
            }
        }
    }
    return 0;
},

//添加一个cookie
addCookie=function(name,value){
    var cookieString=name+'='+escape(value);
    document.cookie=cookieString;
},

//删除一个cookie
deleteCookie=function(name){
    document.cookie=name+'=0;';
};

乱弹几则

 

1.问:“风吹草低见牛羊”是形容哪里?

答:鄱阳湖

 

2.问:黄瓜有哪些用途?

答:吃,美容,毒药,恩还有,你懂的。。。

 

3.某员工车爆胎,于是电话给单位请假,又于是人员去向牌上写着:请假两小时去安胎

 

悲催的六一

看着人家带着自己兴高采烈的小宝贝们过节日

心里拔凉拔凉的

不能陪小宝贝过节的爸妈是没尽到义务的

连小宝贝都不能回去看一眼的更加 杯具的

呆呆的点开一个又一个群里的大朋友的节日祝福

低落的心情

是自己丢下了乖乖

却又有一种被乖乖抛弃的感觉

宝贝

你那梦里的笑脸是为偶绽放么

仿windows经典扫雷小代码

08年底初学JS的第一个练手作品
 
翻出来稍作修改
 
算法神马的没动
 
另外在搜狗等浏览器上双键点击还有点问题
 
网址是
 
 
HTML语言:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>扫雷-JavaScript Mine Sweeper</title>
<style type="text/css">
table{TABLE-LAYOUT: fixed;cursor:pointer}
td{width: 20pxheight: 20pxfont-size: 12pxfont-family: Verdana;font-weight:boldtext-align:center;background:#CECECE;}
td.Normal, .Flag{border-left:2px solid #F5F5F5border-right:2px outset #F5F5F5border-top:2px solid #F5F5F5border-bottom:2px outset #F5F5F5font-weight:bold}
.Mine, .Boom, .M0, .M1, .M2, .M3, .M4, .M5, .M6, .M7, .M8{background:#C5C5C5;border-right:1px solid #B4B4B4border-bottom:1px solid #B4B4B4;}
td.Mine{background: url(mine.gif) no-repeat center}
td.Boom{background:#F00 url(mine.gif) no-repeat center}
td.Flag, td.ErrFlag{background-image: url(flag.gif);background-repeat: no-repeatbackground-position: center;}
td.ErrFlag{background:#0F0}
td.M1 {color: #00f}
td.M2 {color: #008000}
td.M3 {color: #f00}
td.M4 {color: #000080}
td.M5 {color: #800000}
td.M6 {color: #008080}
td.M7 {color: #000}
td.M8 {color: #808080}
</style>
<script>
var $=function(id){return document.getElementById(id)},
    MouseButton=LeftMouse=0,//作为双键单击的计数,mouseup事件置0,mousedown事件+1,当MouseButton=2说明双键同时单击;鼠标左键是否按下,当鼠标左键按下时为1,松开为0
    FlagImg=new Image(),
    HappyImg=new Image(),
    MineImg=new Image(),
    SadImg=new Image(),
    SuccessImg=new Image(),

    WhichButton=function(e){
        e=e||window.event;
        var b=getOs();
        if(b!=2){ //非FF
            switch(e.button){
                case 2:
                    return 0;
                case 0:
                    return b==1?0:1//b==1,IE
                default:
                    return 1;
            }
        }else{ //FF
            return e.which==3?0:1;
        }
    },

OMine={
    MaxX:9,MaxY:9,//最大的坐标
    MineCount:10,//定义雷的个数,可改
    FlagCount:0, //已经标记的旗子的数量
    OpenedCount:0, //已经打开的地区的数量
    MaxOpenCount:0,//应该要打开的最大地区数量
    //当OpenedCount=MaxOpenCount&&FlagCount=MineCount的时候,判断游戏成功结束
    Mine:[],
    GameOver:false, //true代表游戏失败结束
    Success:false, //true代表游戏成功结束
    aClear:[],//临时开雷的数组
    
    //刷新网页的时候初始化
    fInit:function(){
        var T=this,MaxX=T.MaxX,MaxY=T.MaxY,nX,nY=MaxY,MineCount=T.MineCount,
            AStr=['<table bordercolor="#000000" border="0" cellpadding="0" cellspacing="0" height="'+20*MaxY+'px" width="'+20*MaxX+'px" style="border: 10px inset #a0a0a0">'],
            i=0,TAr,TMine=T.Mine;
        T.MaxOpenCount=MaxX*MaxY-MineCount;
        while(nY--){
            AStr[++i]='<tr>';
            TAr=TMine[nY]=[];
            nX=MaxX;
            while(nX--){
                AStr[++i]='<td class="Normal" onmousedown="OMine.fMouseDown('+nX+','+nY+',event);" onmouseup="OMine.fMouseUp('+nX+','+nY+',event);" onmouseover="OMine.fButtonMouseOver('+nX+','+nY+')" onmouseout="OMine.fButtonMouseOut('+nX+','+nY+')" id="Img'+nX+'_'+nY+'"> </td>';
                TAr[nX]={
                    Mine:0, //0表示没有雷,1表示有雷
                    State:0,//0表示未开启,1表示左键开启,2表示右键标记
                    MineCount:0//周围有几个雷
                }
            }
              AStr[++i]='</tr>';
        }
        AStr[++i]='</table>';
        $('dMap').innerHTML=T.InitStr=AStr.join('');
        $('txtFlagCount').value=MineCount;
        T.fInitMine();
        $('btnRefreshMap').src='happy.gif';
        T.GameOver=T.Success=false;
        T.OpenedCount=T.FlagCount=T.aClear.lenght=0;
    },
    
    //为了方便循环赋值,给表格数组赋值的时候是XY倒过来循环的,所以调用的时候要倒回去
    //比如要获得该格子是否有雷,用OMine.fGetMine(x,y).Mine;
    fGetMine:function(X,Y){return this.Mine[Y][X]},
    
    //仅当按重新开始的按钮,不初始化大表格字符
    fRefreshMap:function(){
        var T=this;
        $('dMap').innerHTML=T.InitStr;
        T.fResetOMine();//必须先重置OMine,再重置99个雷
        T.fInitMine();
        T.GameOver=T.Success=false;
        $('btnRefreshMap').src='happy.gif';
        $('txtFlagCount').value=T.MineCount;
        T.OpenedCount=T.FlagCount=T.aClear.lenght=0;
    },

    //重置OMine.Mine数组
    fResetOMine:function(){
        var T=this,MaxY=T.MaxY,MaxX=T.MaxX,X,Y=MaxY,M,Mine=T.Mine,TAr;
        while(Y--){
            X=MaxX;
            TAr=Mine[Y];
            while(X--)(M=TAr[X]).Mine=M.State=M.MineCount=0;
        }
    },
    
    //初始化雷的数组
    fInitMine:function(){
        var T=this,MaxX=T.MaxX,MaxY=T.MaxY,a,fGetMine=T.fGetMine,
            aOld=[],x,y=MaxY,n=0,l=T.MineCount,xRand//一个随机数字
        while(y--){
            x=MaxX;
            while(x--)aOld[n++]=[x,y];
        }
        while(l--){
            a=aOld[xRand=Math.floor(Math.random()*(n-1))];
            T.fGetMine(a[0],a[1]).Mine=1;
            aOld.splice(xRand,1);
            --n;
        }
    },

    //鼠标移动到某格子的时候
    fButtonMouseOver:function(X,Y){
        var T=this;
        switch(MouseButton){
            case 2://双键按下的状态
                var arr=T.fGetAround(X,Y),i=arr.length,TAr;
                while(i--)T.fButtonDown((TAr=arr[i])[0],TAr[1]);
            case 1:
                LeftMouse==1&&T.fButtonDown(X,Y); //左键是按下的
        }
    },
    
    //鼠标移出某格子的时候
    fButtonMouseOut:function(X,Y){
        var T=this;
        switch(MouseButton){
            case 2://双键按下的状态
                var arr=T.fGetAround(X,Y),i=arr.length,TAr;
                while(i--)T.fButtonUp((TAr=arr[i])[0],TAr[1]);
            case 1:
                LeftMouse==1&&T.fButtonUp(X,Y); //左键是按下的
        }
    },

    //鼠标按下时没被开启的格子呈现被按下
    fButtonDown:function(X,Y){
        var srcEle=$('Img'+X+'_'+Y);
        srcEle.className=='Normal'&&(srcEle.className='M0');
    },
    
    //让没被开启并且已经呈现被按下的格子回复Normal
    fButtonUp:function(X,Y){
        var srcEle=$('Img'+X+'_'+Y);
        srcEle.className=='M0'&&!this.fGetMine(X,Y).State&&(srcEle.className='Normal');
    },
    
    //获取8个方向的坐标
    fGetAround:function(X,Y){
        var TX,TY,i=8,MX=this.MaxX-1,MY=this.MaxY-1,
            Arr=[[-1,0],[-1,-1],[0,-1],[1,-1],[1,0],[1,1],[0,1],[-1,1]],
            newArr=[],TAr;
        while(i--){
            TX=X+(TAr=Arr[i])[0];
            TY=Y+TAr[1];
            !(TX<0||TX>MX||TY<0||TY>MY)&&newArr.push([TX,TY]);
        }
        return newArr;
    },
    
    //鼠标在格子按下
    fMouseDown:function(X,Y,evt){
        var T=this;
        if(T.GameOver){
            alert('游戏失败,再接再厉!');
            return;
        }
        if(T.Success){
            alert('恭喜游戏成功!再来一局吧?');
            return;
        }
        var srcEle=$('Img'+X+'_'+Y),ObXY=T.fGetMine(X,Y),arr,i,TAr;
        ++MouseButton;
        evt=evt||window.event;
        switch(MouseButton){
            case 2:
                arr=T.fGetAround(X,Y);i=arr.length;
                while(i--)T.fButtonDown((TAr=arr[i])[0],TAr[1]);
                break;
            case 1:
                if(WhichButton(evt)){
                    LeftMouse=1;
                    T.fButtonDown(X,Y);
                }else{
                    switch(ObXY.State){
                        case 0:
                            ObXY.State=2;
                            srcEle.className='Flag';
                            --$('txtFlagCount').value;
                            ++T.FlagCount;
                            break;
                        case 2:
                            ObXY.State=0;
                            srcEle.className='Normal';
                            ++$('txtFlagCount').value;
                            --T.FlagCount;
                    }
                }
            }
    },
    
    //鼠标在格子弹起
    fMouseUp:function(X,Y,evt){
        var T=this;
        evt=evt||window.event;
        var srcEle=$('Img'+X+'_'+Y),ObXY=T.fGetMine(X,Y),arr,i,TAr;
        switch(MouseButton){
            case 2: //MouseDown为两个键都单击按下,任意一个键弹起都判断为双键弹起
                LeftMouse=0;
                //鼠标弹起,把呈现被按下状态的格子恢复
                arr=T.fGetAround(X,Y);i=arr.length;
                while(i--)T.fButtonUp((TAr=arr[i])[0],TAr[1]);
                !ObXY.State&&T.fButtonUp(X,Y);
                ObXY.State==1&&ObXY.MineCount&&T.fOpenFlagMine(X,Y);
                break;
            case 1: //当MouseDown为一个键单击时,MouseUp才判断为一个键弹起
                if(WhichButton(evt)){
                //只有在State=0才起作用,跟是否有雷没关系
                        LeftMouse=0;
                        if(ObXY.State){break;}
                        ObXY.Mine?(
                            //触雷,结束该局
                            T.fFail(),
                            srcEle.className='Boom'
                        ):(
                            ObXY.State=1, //压栈之前就要设置为已经开启
                            T.aClear.push([X,Y]),
                            T.fClearMine()
                        )
                }
        }
        MouseButton=0;
        if(T.OpenedCount==T.MaxOpenCount&&T.FlagCount==T.MineCount){
            T.fSuccess();
            alert('恭喜游戏成功!再来一局吧?');
            return;
        }
        //当剩余未开启的格子数=剩余的旗子数,自动完成
        T.MaxOpenCount+T.MineCount-T.OpenedCount-T.FlagCount==$('txtFlagCount').value&&(
            T.fSuccess(),
            T.fAutoFlag(),
            alert('恭喜游戏成功!再来一局吧?')
        )
    },
    
    //自动填充未开启的地区的雷
    fAutoFlag:function(){
        var T=this,nX,nY=T.MaxY,MaxX=T.MaxX,Mine=T.Mine,TAr;
        while(nY--){
            nX=MaxX;
            TAr=Mine[nY];
            while(nX--)!TAr[nX].State&&($('Img'+nX+'_'+nY).className='Flag');
        }
        $('txtFlagCount').value=0;
    },
    
    //递归开雷
    fClearMine:function(){
        var T=this;
        if(T.aClear.length==0){return}
        ++T.OpenedCount;
        var aXY=T.aClear.pop(),X=aXY[0],Y=aXY[1],TX,TY,
            aTmpClear=[], //一个临时数组
            srcEle=$('Img'+X+'_'+Y),
            ObXY,ObTXTY,
            countMine=0, //获取周围雷的个数
        //从正左开始的8个方向
            arr=T.fGetAround(X,Y),i=arr.length,TAr;
        while(i--){
            //TX,TY获得本格周围的坐标
            (ObTXTY=T.fGetMine(TX=(TAr=arr[i])[0],TY=TAr[1])).Mine==1&&++countMine;
            !ObTXTY.State&&aTmpClear.push([TX,TY]);
        }
        ObXY=T.fGetMine(X,Y);
        ObXY.MineCount=countMine;
        srcEle.className='M'+countMine;
        if(!countMine){
            Array.prototype.push.apply(T.aClear,aTmpClear);
            i=aTmpClear.length;
            while(i--)T.fGetMine((TAr=aTmpClear[i])[0],TAr[1]).State=1;
        }else{
            getOs()==2?
                srcEle.textContent=countMine
                :srcEle.innerText=countMine
        }
        T.fClearMine();
    },
    
    //获得双键辅助开启
    fOpenFlagMine:function(X,Y){
        var T=this,FlagCount=0,TX,TY,ObXY,ObTXTY,aTmpClear=[],FlagErr=false,
            arr=T.fGetAround(X,Y),i=arr.length,TAr;
        while(i--){
            //TX,TY获得本格周围的坐标
            ObTXTY=T.fGetMine(TX=(TAr=arr[i])[0],TY=TAr[1]);
            switch(ObTXTY.State){
                case 0: //未开启未标记
                    !ObTXTY.Mine&&aTmpClear.push([TX,TY]); //没雷也没旗子的时候加入到被辅助开启的数组}
                    break;
                case 2: //标记了旗子
                    ++FlagCount//只要标记了旗子,无论对错,都记录标记数+1
                    !ObTXTY.Mine&&(FlagErr=true); //没有雷但是标记了旗子,标记错误
            }
        }
        if(FlagCount<T.fGetMine(X,Y).MineCount||aTmpClear.length==0)return;
        //旗子比实际雷少,无论标记对错,不开启
        //没有可以提供开启的空格
        if(FlagErr){ //有错误则进行结束游戏处理
            T.fFail();
            return;
        }
        Array.prototype.push.apply(T.aClear,aTmpClear);
        i=aTmpClear.length;
        while(i--)T.fGetMine((TAr=aTmpClear[i])[0],TAr[1]).State=1;
        T.fClearMine();
    },
    
    //显示所有的雷
    fShowMine:function(){
        var T=this,X=0,Y=T.MaxY,MaxX=T.MaxX,Mine=T.Mine,TAr,TArX;
        while(Y--){
            X=MaxX;
            TAr=Mine[Y];
            while(X--){
                TArX=TAr[X];
                switch(TArX.Mine){
                    case 0:
                        TArX.State==2&&($('Img'+X+'_'+Y).className='ErrFlag');
                        break;
                    case 1:
                        $('Img'+X+'_'+Y).className='Mine';
                }
            }
        }
    },

    //游戏成功结束
    fSuccess:function(){
        this.Success=true;
        $('btnRefreshMap').src='success.gif';
    },
    
    //游戏失败结束
    fFail:function(){
        this.GameOver=true;
        $('btnRefreshMap').src='sad.gif';
        this.fShowMine();
    }
},

//换地图
ChangeMap=function(Map){
    var O=OMine;
    switch(Map){
        case 1:
            O.MaxX=O.MaxY=9;
            O.MineCount=10;
            break;
        case 2:
            O.MaxX=O.MaxY=16;
            O.MineCount=40;
            break;
        case 3:
            O.MaxX=30;
            O.MaxY=16;
            O.MineCount=99;
    }
    O.fInit();
},

getOs=function(){
   if(navigator.userAgent.indexOf("MSIE")>0)return 1;
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0)return 2;
   if(isSafari=navigator.userAgent.indexOf("Safari")>0)return 3;   
   if(isCamino=navigator.userAgent.indexOf("Camino")>0)return 4;
   if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0)return 5;
   return 0;
};


FlagImg.src='flag.gif';
HappyImg.src='happy.gif';
MineImg.src='mine.gif';
SadImg.src='sad.gif';
SuccessImg.src='success.gif';
</script>
</head>
<body topmargin="0" oncontextmenu="return false" ondragstart="return false" onselectstart="return false" onload="OMine.fInit()" bgcolor="#808080">
<center>
<div id="dTop" align="center" style="border-style: inset; border-width: 10;width:400">
<table cellpadding="0" cellspacing="0" style="border-collapse: collapse;" width="380" height="44">
  <tr>
    <td style="width: 102; height:50px">
    <input type="text" id="txtFlagCount" size="20" style="width: 60; height: 30; color:#FF0000; text-align:center; font-family:Verdana; font-weight:bold; background-color:#000000; font-size:13pt" value=""></td>
    <td style="width: 136; height:50px">
    <input onclick="OMine.fRefreshMap()" type="image" id="btnRefreshMap" src="happy.gif"><input onclick="OMine.fShowMine();" type="button" name="B3" value="显雷"style="display:none"></td>
    <td style="width: 142; height:50px">
    <input type="radio" value="V1" checked name="R1" id="R1" onclick="ChangeMap(1)">初级<input type="radio" value="V1" name="R1" id="R2" onclick="ChangeMap(2)">中级<input type="radio" value="V1" name="R1" id="R3" onclick="ChangeMap(3)">高级</td>
  </tr>

</table>
</div>
<div id="dMap" align="center"></div>
</center>
</body>
</html>

支持鼠标拖拽的简单目录树代码

一个小代码
 
类似资源管理器效果
 
支持鼠标拖拽
 
没写些细节东西
 
 
JavaScript语言:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body oncontextmenu="return false" ondragstart="return false" onselectstart="return false">

<div id="dContainer" style="z-index:1">
    <ul>
        <li><a href="">1</a></li>
        <li><a href="">2</a></li>
        <li><a href="">3</a></li>
        <li><a href="">4</a>
            <ul>
                <li><a href="">4-1</a></li>
                <li><a href="">4-2</a></li>
                <li><a href="">4-3</a></li>
            </ul>
        </li>
    </ul>

</div>

<script>
var 
$=function(id){return document.getElementById(id)},
LSDrag={
    TargetDOM:null, //储存当前拖拽的DOM对象引用
    InitHerf:function(o){ //传递一个DOM对象,给其中的a添加mouseover和mouseout事件
        var v=o.getElementsByTagName('a'),L=v.length,E;
        while(L--){
            (E=v[L]).onmousedown=function(){LSDrag.DragBegin(this)};
            E.onmouseover=function(){LSDrag.TargetDOM&&LSDrag.DragOver(this)};
            E.onmouseout=function(){LSDrag.TargetDOM&&LSDrag.DragOut(this)};
            E.onmouseup=function(){LSDrag.DragEnd(this)};
        }
    },
    DragOver:function(o){
        o.style.backgroundColor='#888';
        o.style.color='#FFF';
    },
    DragOut:function(o){
        o.style.backgroundColor='';
        o.style.color='';
    },
    DragBegin:function(o){
        LSDrag.TargetDOM=o;
    },
    DragEnd:function(o){
        var TargetDOM=LSDrag.TargetDOM,pTNode=TargetDOM.parentNode,
            pNode=o.parentNode,v=pTNode.getElementsByTagName('a'),L=v.length;
        switch(true){
            case TargetDOM==o:
                //这里写点击链接后发生的事件
                break;
            case pNode==pTNode.parentNode.parentNode:
                alert('无法移动,目标文件夹与源文件夹相同!');
                break;
            default:
                while(L--){
                    if(v[L]==o){
                        alert('不能移动到子目录下!');
                        o.style.backgroundColor='';
                        o.style.color='';
                        LSDrag.TargetDOM=null;
                        return;
                    }
                }
                (v=pNode.getElementsByTagName('ul')).length? //目标文件夹下有ul,添加自己到ul里最后
                    v[0].appendChild(pTNode):(pNode.appendChild(document.createElement('ul'))).appendChild(pTNode);
        }
        LSDrag.TargetDOM=null;
    }
};
LSDrag.InitHerf($('dContainer'));
</script>
</body>
</html>

第五届D2精彩瞬间回顾

收藏一下精彩瞬间的照片记录

 

 2010年12月18日,第五届D2在杭州如期举行。本届D2主题:D平方(D2 = D²),潜能无限!吸引了来自全国各地的500多名前端开发工程师齐聚一堂。

让我们再来回味第五届D2的各个精彩瞬间

2010年9月IE9发布会现场官方视频

去年参加了9月在北京的IE9发布会

这是官方的发布会视频

(偶?偶在最后几分钟闪亮登场了几秒钟。。。囧)

http://v.zol.com.cn/video102719.html

从植物大战僵尸看IE9游戏性

2010年9月在北京IE9发布会视频

收藏地址

说偶虎背熊腰的。。。产后形象不佳,要努力减肥了。。。

>_< 

http://video.sina.com.cn/v/b/40355993-1700099614.html

分页:[«][1]2[3][»]
« 2013年2月 »
Sun Mon Tue Wed Thu Fri Sat
12
3456789
10111213141516
17181920212223
2425262728

文章归档

广告位