页面

2012年4月14日星期六

Primitive Captcha Solving / OCR in Javascript

Primitive Captcha Solving / OCR in Javascript: Blizzard's recently concluded Diablo 3 beta key giveaway Twitter contest provides an opportunity to demonstrate primitive Captcha solving / OCR in Javascript, along with some basic use of the HTML5 canvas element, a Javascript OAuth library, and artificial neural networks.

2012年4月5日星期四

使用HTML5的十大原因

使用HTML5的十大原因:
你难道还没有考虑使用HTML5? 当然我猜想你可能有自己的原因;它现在还没有被广泛的支持,在IE中不好使,或者你就是喜欢写比较严格的XHTML代码。HTML5是web开发世界的一次重大的改变,事实上不管你是否喜欢,它都是代表着未来趋势。其实HTML5并不难理解和使用。我们这里能列出许多原因为什么现在要开始使用HTML5。
目前有很多的文章介绍使用HTML5并且介绍了使用它的优势和好处,没错,我们这篇文章也类似。随着更多这样的文章,以及Apple的支持, Adobe围绕HTML5的产品开发,以及移动flash的死亡,如此多网站的支持,我想对那些仍旧没有或者不想接受它的人说一些话。我认为主要得原因是,它看起来像一个神秘的东西。很多感觉它像喷气背包或者飞行汽车。一个未经验证的非凡想法但是并不实际。但是事实上现在已近非常的实际了。
为了解密HTML5并且帮助顽固的开发设计人员,我这里写了列出了使用HTML5的几大原因,希望对大家有帮助!

  第十大原因:易用性

俩个原因使得使用HTML5创建网站更加简单:语义上及其ARIA。新的HTML标签像<header>, <footer>,<nav>,<section>, <aside>等等,使得阅读者更加容易去访问内容。在以前,即使你定义了class或者ID你的阅读者也没有办法去了解给出的一个div究竟是什么。使用新的语义学的定义标签,你可以更好的了解HTML文档,并且创建一个更好的使用体验。
ARIA是一个W3C的标准主要用来对HTML文章中的元素指定“角色“,通过角色属性来创建重要的页面地形例如,header,footer,navigation或者aritcle很有必要。这一点曾经被忽略掉了并且没有被广泛使用,因为事实上并不验证。然而,HTML5将会验证这样属性。同时,HTML5将会内建这些角色并且无法不覆盖。更多的HTML5和ARIA讨论,请大家查看这里。

  第九大原因:视频和音频支持

忘了flash和其它第三方应用吧,让你的视频和音频通过HTML5标签<video>和<audio>来访问资源。正确播放媒体一直都是一个非常可怕的事情,你需要使用<embed>和<object>标签,并且为了它们能正确播放必须赋予一大堆的参数。你的媒体标签将会非常复杂,大堆得令人迷惑的代码。而且HTML5视频和音频标签基本将他们视为图片:<video src=”"/>。但是其它参数例如宽度和高度或者自动播放呢?不必担心,只需要像其它HTML标签一样定义:<video src=”url” width=”640px” height=”380px” autoplay/>。
实际上这个过程非常简单,然而我们的老浏览器可能并不喜欢我们的HTML5,你需要添加更多代码来让他们正确工作。但是这个代码还是比<embed>和<object>来的简单的多。  

  第八大原因:Doctype

没错,就是doctype,没有更多内容了。是不是非常简答?不需要拷贝粘贴一堆无法理解的代码,也没有多余的head标签。最大的好消息在于,除了简单,它能在每一个浏览器中正常工作即使是名声狼藉的IE6。

  第七大原因:更清晰的代码

如果你对于简答,优雅,容易阅读的代码有所偏好的话,HTML5绝对是一个为你量身定做的东西。HTML5允许你写出简单清晰富于描述的代码。符合语义学的代码允许你分开样式和内容。看看这个典型的简单拥有导航的heaer代码:
<div id="header"> <h1>Header Text</h1> <div id="nav">  <ul>   <li><a href="#">Link</a></li>   <li><a href="#">Link</a></li>   <li><a href="#">Link</a></li>  </ul> </div></div>
是不是很简单?但是使用HTML5后会使得代码更加简单并且富有含义:
<header> <h1>Header Text</h1> <nav>  <ul>   <li><a href="#">Link</a></li>   <li><a href="#">Link</a></li>   <li><a href="#">Link</a></li>  </ul> </nav></header>
使用HTML5你可以通过使用语义学的HTML header标签描述内容来最后解决你的div及其class定义问题。 以前你需要大量的使用div来定义每一个页面内容区域,但是使用新的<section>,<article>,<header>,<footer>,<aside>和<nav>标签,需要你让你的代码更加清晰易于阅读。

  第六大原因:更聪明的存储

HTML5中最酷的特性就是本地存储。有一点像比较老的技术cookie和客户端数据库的融合。它比cooke更好用因为支持多个windows存储,它拥有更好的安全和性能,即使浏览器关闭后也可以保存。
因为它是个客户端的数据库,你不用担心用户删除任何cookie,并且所有主流浏览器都支持。
本地存储对于很多情况来说都不错, 它是HTML5工具中一个不需要第三方插件实现的。能够保存数据到用户的浏览器中意味你可以简单的创建一些应用特性例如:保存用户信息,缓存数据,加载用户上一次的应用状态。

  第五大原因:更好的互动

我们都喜欢更好的互动,我们都喜欢对于用户有反馈的动态网站,用户可以享受互动的过程。输入<canvas>,HTML5的画图标签允许你做更多的互动和动画,就像我们使用Flash达到的效果。
除了<canvas>,HTML5同样也拥有很多API允许你创建更加好的用户体验并且更加动态的web应用程序。 这里有一个列表:
  • Drag and Drop (DnD)
  • Offline storage database
  • Browser history management
  • document editing
  • Timed media playback

  第四大原因:游戏开发

没错, 你可以使用HTML5的<canvas>开发游戏。HTML5提供了一个非常伟大的,移动友好的方式去开发有趣互动的游戏。如果你开发Flash游戏,你就会喜欢上HTML5的游戏开发。
Script-tutorials目前提供了4个不部分的HTML5游戏开发教程,这里看看他们开发的有趣游戏:

  第三大原因: 遗留及其跨浏览器支持

你的现代流行浏览器都支持HTML5(Chrome,Firefox,Safari,IE9和Opera),并且创建了HTML5 doctype这样所有的浏览器,即使非常老非常令人厌恶浏览器像IE6都可以使用。但是因为老的浏览器能够识别doctype并不意味它可以处理HTML5标签和功能。幸运的是,HTML5已经使得开发更加简单了,更多支持更多浏览器,这样老的IE浏览器可以通过添加javascript代码来使用新的元素:
<!--[if lt IE 9]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

  第二大原因: 移动,移动还是移动

你可以称之为“直觉”,但是我认为移动技术将会变得更加的流行。我知道,这里有些非常疯狂的猜测,有些可能你也想到了 – Mobile是一个时尚!移动设备将占领世界。更多的接受移动设备将会增长的非常迅速。这意味着更多的用户会选择使用移动设备访问网站或者web应用。HTML5是最移动化的开发工具。随着Adobe宣布放弃移动flash开发,你将会考虑使用HTML5来开发webp应用。
当手机浏览器完全支持HTML5那么开发移动项目将会和设计更小的触摸显示一样简单。这里有很多的meta标签允许你优化移动:
  • viewport: 允许你定义viewport宽度和缩放设置;
  • 全屏浏览器: ISO指定的数值允许Apple设备全屏模式显示;
  • Home screen icons:  就像桌面收藏,这些图标可以用来添加收藏到IOS和Android移动设备的首页。

  第一大原因: 它是未来,开始用吧!

最大的原因今天你就开始使用HTML5是因为它是未来,不要掉队了!HTML5不会往每个方向发展,但是更多的元素已经被很多公司采用,并且开始着手开发。HTML5其实更像HTML,它不是一个新的技术需要你重新学习!如果你开发XHTML strict的话你现在就已经在开发HTML5了。为什么不更完整的享受HTML5的功能呢?
你实际上没有任何借口不接受HTML5。事实上我唯一一个原因使用HTML5是因为它书写代码简单清晰。其它的特性其实我也没有真正使用。你可以考虑现在开始使用HTML5书写代码,它能帮助你改变书写代码的方式及其设计方式。开始用HTML5代码编写web应用吧,说不定下一个移动应用或者游戏应用就是用HTML5开发的!
英文原文:Top 10 Reasons to Use HTML5 Right Now
来源:GBin1.com 、 雷锋网。
评论《使用HTML5的十大原因》的内容...

相关文章:

统计
微博:新浪微博 - 腾讯微博 - 论坛
月光博客投稿信箱:williamlong.info(at)gmail.com
Created by William Long www.williamlong.info

十六个快速启动项目样板

十六个快速启动项目样板:
样板是可以重用在许多地方的一套代码文件,只需很少或根本不需修改。然而,这里我们正在谈论的boilerplates通常可以作为您项目的坚实基础。另外,这也是学习编码技巧和窍门的好地方。
样板是非常有用的,因为它通常包括最佳编码实践,也包含很多的技巧和窍门,否则将需要几年的时间学习。要是没有HTML电子邮件样板作为例子,建立一个EDM(Email Direct Marketing,即电子邮件营销)是不容易的,它需要你回到HTML1.0,没有更多的div,span或高级的CSS设置,如浮,位置等,你需要用表格做布局,内联CSS做简单的样式。使构建EDM更糟的是,电子邮件客户端有严格的限制,它们不具有相同的行为,如果你在多个老浏览器的工作,它都呈现不同的页面!有了电子邮件的样板,它包含CSS设置的HTML结构,甚至一些技巧和窍门,可以帮助和指导你如何避免展现不一致的问题。
没有做更多,笔者只是为不同的web技术平台收集16 样板 - HTML,CSS jQuery,WordPress等等,他们执行最佳实践并不断更新,笔者肯定它能为您的项目打下一个非常良好的基础。
HTML & Miscelaneous
HTML5 Boilerplate
HTML5 Boilerplate
HTML5 Boilerplate是一个专业和著名的基于HTML / CSS/ JS的快速、稳健和未来安全的网站模板。
HTML Email Boilerplate
HTML Email Boilerplate
这个网站及其代码示例创建了各种各样的模板,设计或布局的展现,这有助于你避免一些最常见的电子邮件客户端的渲染问题 - Outlook,Gmail,雅虎邮件等,这是一个好东西,我把它用在我的工作,它包含了很多的技巧和窍门来节省您大量解决问题的时间。
HTML5 Mobile Boilerplate
HTML5 Mobile Boilerplate
HTML5 Mobile Boilerplate,是你值得信赖的模板,用于创建定制丰富和高性能的移动网络应用程序。你能获得A级智能手机之间跨浏览器的的一致性,和传统的黑莓,Symbian,以及移动的后援支持。
Twitter Bootstrap
Twitter Bootstrap
简单,灵活的HTML,CSS,JavaScript框架,用于流行的用户界面组件和交互。它不是一个真正的样板,但它有很多快速原型和开发可重用的组件。
Zend Framework Boilerplate
Zend Framework Boilerplate
Zend框架(ZF)的样板,是一个基于Zend框架企业级PHP应用开发的所有功能于一身的平台。
CSS
GetSkeleton
GetSkeleton
GetSkeleton是一套CSS和JS文件,可以帮助你快速开发外观漂亮不同规模大小网站,用于17“笔记本电脑的屏幕或iPhone。GetSkeleton建立在三个核心原则:Responsive Grid Down to Mobile,快速启动和风格无关。
CSS Media Queries Boilerplate
CSS Media Queries Boilerplate
CSS Media Queries快查片段。
Boilerplate for Responsive Mobile
Boilerplate for Responsive Mobile
YAMP是一套小工具和最佳实践,可让网页设计师更快地建立响应式网站。
jQuery
jQuery Boilerplate
jQuery Boilerplate
该项目将不寻求每一个可能的模式提供了一个完美的解决方案,但将尝试覆盖了简单的模板,适合初学者及以上。
Stefan Gabos jQuery Plugin Boilerplate
Stefan Gabos jQuery Plugin Boilerplate
快速上手的jQuery插件开发样板。
Essential jQuery Plugin Patterns
Essential jQuery  Plugin Patterns
一个jQuery插件开发的JavaScript模式。除了大家都知道的JavaScript模式有用外,开发的另一个侧面可以受益于它自己的一套设计模式:jQuery插件。官方jQuery插件创作指南,提供了一个很好的起点,编写插件和widget入门,但我们更进一步。
WordPress
WordPress Widget Boilerplate
WordPress Widget Boilerplate
一个组织良好的构建WordPress部件的维护样板。
Root Theme
Root Theme   Root是基于HTML5 Boilerplate 和来自Twitter的Bootstrap上的一个WordPress主题。
Bones
Bones
Bones是一个WordPress主题开发样板。它包含经典(fixed grid)和响应布局可选择。
Starkers Theme
Starkers Theme  
Starkers是一个极简单的WordPress的主题,可创建充当为主题设计师的基础。
TwentyTen Five HTML5 Base Theme
TwentyTen Five HTML5 Base Theme  
将HTML5引入WordPress,你可以使用这TwentyTen Five WordPress模板建立你的HTML主题。
来源:英文原文 ;中文编译:IT瘾;译文地址:原文链接
评论《十六个快速启动项目样板》的内容...

相关文章:

统计
微博:新浪微博 - 腾讯微博 - 论坛
月光博客投稿信箱:williamlong.info(at)gmail.com
Created by William Long www.williamlong.info

2012年2月7日星期二

酷广告两则:你不会错过,干柴烈火

 
 

小小才子 通过 Google 阅读器发送给您的内容:

 
 

于 12-2-2 通过 煎蛋 作者:oioi

酷广告两则:你不会错过,干柴烈火
第一则是Notitarde Newspaper 的广告。广告语是:给那些错过好新闻的人,2011 新闻回顾与补充。由加拿大Leo Burnett公司制作。

@oioi:选这个,我觉得它也可代表了煎蛋:D,给那些还指望地球上有新鲜事的你们。

以下是另4张图
酷广告两则:你不会错过,干柴烈火


第二则是Axe Anarchy 香氛的广告。用了这个东东异性相吸,谁都管不了这么多了。由英国BBH公司制作。
酷广告两则:你不会错过,干柴烈火
酷广告两则:你不会错过,干柴烈火
酷广告两则:你不会错过,干柴烈火

酷广告两则:你不会错过,干柴烈火
酷广告3则:猫粮、相机、套套[8p]
酷广告两则:你不会错过,干柴烈火
这就是TMD 快餐广告[11P]
酷广告两则:你不会错过,干柴烈火
BT 香烟广告
无觅

>>点这里浏览原文<<

© 煎蛋 / 随便看看 / 花瓣网页截屏




 
 

可从此处完成的操作:

 
 

2012年1月25日星期三

『女摄影师』Sharon Beals,鸟巢肖像

 
 

小小才子 通过 Google 阅读器发送给您的内容:

 
 

于 12-1-20 通过 Leica中文摄影杂志 作者:Lancelot23 <lancelot23@gmail.com>

"Bird Nests"是女摄影师Sharon Beals完成于2010年的一个私人拍摄项目,在这个项目中,摄影师将鸟类的巢穴作为拍摄对象,通过Fine-Art的形式将它们的肖像呈现出来,以此唤起人们对鸟类生存和自然生态的关注。在极简的静物拍摄方式下,这些鸟巢的复杂构成和独特美感被一一展现。

"鸟类筑巢并不是一件容易的事,它们用嘴和爪子收集各种材料——蜘蛛网、苔藓、枝条、落叶、泥土、动物的毛发等等,然后将它们编织起来,筑成符合生存条件的鸟巢,用来孵育并保护自己的下一代。

"然而在城市中,许多鸟类的生存正面临威胁。城市建设的推进,让这些生物的栖息地日渐缩小,它们日常所需的食物也会因为气候变化而受到影响。身处于城市中的我们,或许并不了解自己的行为会对鸟类造成多大的冲击。我希望通过对鸟巢的记录,来唤起人们对这些生灵的关注和保护。"

这个项目所拍摄的鸟巢均来自科学机构和博物馆的收藏,其中大部分是过去两个世纪的藏品,研究者可从中了解不同鸟类的生活习性、基因构成、病理机制等相关信息。

关于摄影师
Sharon Beals,美国女摄影师,现居旧金山。多年来通过摄影关注生态保护和环境污染等问题。


红嘴巨鸥


西美洲王霸鹟


美洲家朱雀


古巴翠蜂鸟


灰沙燕


点斑夜鸫


灰头地莺


松金翅雀


艾伦氏煌蜂鸟


橙头拟黄鹂


三道眉草鹀


北美金翅


红额金翅雀

『Leica中文摄影杂志』推荐使用Email的方式订阅,亦可通过Google Reader、QQ阅读、鲜果等RSS工具阅读;在Apple Mac OS X下可获得最佳阅读体验

『iPhoto.ly』在苹果上阅读:iPhone版+iPad版,^_^

Tips: 关注我们: Twitter、饭否、微博

『小建议』如果你在Email里看到这篇文章,可以转发给你的朋友;如果你在Google Reader阅读器里看到这篇文章,可以共享给好友;如果你在豆瓣里看到这篇文章,不妨推荐给更多人;或者干脆Copy下这篇文章的链接,发给你MSN上最喜欢的人;我们永远相信,分享是一种美德,Great People Share Knowledge...
Tags - ,

 
 

可从此处完成的操作:

 
 

2012年1月12日星期四

TCP/IP学习笔记(二)

 
 

小小才子 通过 Google 阅读器发送给您的内容:

 
 

于 12-1-13 通过 CSDN博客推荐文章 作者:zhongguoren666

TCP/IP学习笔记(二)


作者:肖进


一、 ARP:地址解析协议
    先看:

    C:\Documents and Settings\xiaoj>arp -a     Interface: 192.1.8.84 on Interface 0x1000003     Internet Address Physical Address Type     192.1.8.12 00-0b-cd-03-c4-27 dynamic     192.1.8.15 00-0d-9d-93-09-f5 dynamic     192.1.8.18 00-e0-18-c1-86-3d dynamic     192.1.8.26 00-80-2d-78-4f-81 dynamic     192.1.8.33 00-0b-cd-0f-a4-c5 dynamic     192.1.8.38 00-30-6e-36-5f-99 dynamic     192.1.8.86 00-0b-cd-b8-0c-ae dynamic     192.1.8.247 00-50-ba-e5-20-af dynamic     192.1.8.248 00-0d-56-19-ba-56 dynamic

    第一列显示的是主机的IP地址,第二列就是主机的网卡MAC地址。
    ARP协议就是提供IP地址到对应的硬件地址提供动态映射。这个过程一般是系统自动完成的。ARP发送一份ARP请求给以太网上的主机,该请求中包含目的主机的IP地址,其意思是"如果你是这个IP的拥有者,请回答你的硬件地址"。当目的主机的ARP层收到这份广播报文时,识别出这是发送端在询问它的IP地址,于是就会发送一个ARP应答,这个ARP应答包括IP地址及对应的硬件地址。

二、 ARP分组格式

 

以太网目的地址6 以太网源地址6 帧类型2 硬件类型2 协议类型2 硬件地址长度
1
协议地址长度1 请求应答1 发送者硬件地址6 发送者IP地址
4
目的硬件地址6 目的IP地址4


先看定义:
//ARP首部

struct arphdr(
  u_short ar_hrd; //硬件类型
  u_short ar_pro; //协议类型
  u_char ar_hln; //硬件地址长度
  u_char ar_pln; //协议地址长度
  u_short ar_op; // 请求还是应答
  u_char arp_sha[6]; //发送者硬件地址
  u_char arp_spa[4]; //发送者IP地址
  u_char arp_tha[6]; //目的硬件地址
  u_char arp_tpa[4]; //目的IP地址
  u_char arp_zero[18]; //填充字段
};

说明:◆以太网目的地址全为1的特殊地址为广播地址。
      ◆ 以太网帧类型ARP对应的值为0x0806。
      ◆ 硬件类型表示硬件地址的类型,以太网为1。
      ◆ 协议类型字段表示要映射的协议地址类型,IP地址对应的值为0x0800。
      ◆ 硬件地址长度:以太网为6。
      ◆ 协议地址长度:以太网为4,即IP地址长度。
      ◆ 操作字段:ARP请求=1,ARP应答=2,RARP请求=3,RARP应答=4。
      ◆ 当系统收到一份目的端为本机的ARP请求报文时,它就把硬件地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送出去。
三、 ARP代理:
    如果ARP请求是从一个网络的主机发往另一个网络的主机,那么连接这两个网络的路由器可以回答该请求,这个过程称为ARP代理,这样可以欺骗发起ARP请求的发送端,使它误以为路由器就是目的主机。
四、 免费ARP
     指主机启动时发送ARP查找自己的IP地址,主要作用:
     1、 查找网络上有没有相同的IP地址。
     2、 更新ARP缓存。
五、 RARP协议:逆地址解析协议,这里就不详细介绍了。
     RARP协议一般用于无盘工作站,根据硬件地址查找IP地址。
     RARP分组格式与ARP分组格式相同。
六、 ICMP协议:Internet控制报文协议:
     ICMP经常被认为是IP层的一个组成部分,它传递差错报文以及其他需要注意的事项。ICMP报文通常被IP层或更高层协议(TCP或UDP)使用。ICMP报文是在IP数据报内部被传输的。ICMP报文包差错报文和查询报文。报文格式如下:

 

8位类型 8位代码 16位检验和
不同类型和代码有不同的内容


    类型字段可以有15个不同的值(0、3-5、8-18)。某些报文还使用代码字段来进一步描述不同的条件。检验和字段覆盖整个ICMP报文,与IP首部检验和算法是一样的。

    以下情况不会产生ICMP差错报文:
    ◆ ICMP差错报文
    ◆ 目的地址为广播地址或者多播地址
    ◆ 作为链路层的数据报
    ◆ 不是IP分片的第一片
    ◆ 源地址不是单个主机的数据报,也即源地址不能为0地址、环回地址、广播地址或多播地址

七、 ICMP地址掩码请求与应答:
     ICMP地址掩码请求用于无盘系统在引导过程中获取自己的子网掩码,系统广播它的ICMP请求报文。ICMP地址掩码请求和应答报文格式如下:

 

类型(17或18) 代码(0) 检验和
标识符 序列号
32位子网掩码


ICMP报文中的标识符和序列号由发送端任意选择设定,这些值在应答中将被返回。

struct icmp_mask{
  unsigned char icmp_type; //类型
  unsigned char icmp_code; //代码
  unsigned short icmp_checksum; //检验和
  unsigned short icmp_id; //标识符
  unsigned short icmp_sequence; //序列号
  unsigned long icmp_mask; //32位子网掩码
};
说明:RFC规定,除非是地址掩码的授权代理,否则不能发送地址掩码应答。

向本机IP地址和环回地址发送地址掩码请求结果是一样的。

八、 ICMP时间戳请求与应答:
     ICMP时间戳请求允许系统向另一个系统查询当前时间,返回的是自午夜开始记算的毫秒数。调用者必须通过其他方法获取当前时间。
     ICMP时间戳请求与应答报文格式如下:

 

类型(13或14) 代码(0) 检验和
标识符 序列号
发起时间戳
接收时间戳
传送时间戳


    请求端填写发起时间戳,然后发送报文。应答系统收到报文填写接收时间戳,发送应答时填写发送时间戳。实际上,大多数实现将后两个字段一般设置为一样的。

struct icmp_time{
  unsigned char icmp_type; //类型
  unsigned char icmp_code; //代码
  unsigned short icmp_checksum; //检验和
  unsigned short icmp_id; //标识符
  unsigned short icmp_sequence; //序列号
  unsigned long icmp_request_time; //发起时间戳
  unsigned long icmp_receive_time; //接收时间戳
  unsigned long icmp_send_time; //传送时间戳
};
九、 ICMP端口不可达差错

    主机如果收到一份UDP数据报而目的端口与某个正在使用的进程,那么UDP返回一个ICMP不可达报文。报文格式如下:

 

类型3 代码(0-15) 检验和
保留(必须为0)
IP首部+原始IP数据报中数据的前8个字节


当代码为4时,路径MTU发现机制允许路由器把外出接口的MTU填在这个32bit的低16bit中。

struct icmp_unreach{
  unsigned char icmp_type; //类型
  unsigned char icmp_code; //代码
  unsigned short icmp_checksum; //检验和
  unsigned long icmp_zero; //保留
  unsigned char icmp_ip[28]; //IP首部+原始IP数据报中前8个字节,也就是地址信息
} 
 

作者:肖进
单位:南京中萃食品有限公司 资讯部
邮件:xiaoj@njb.swirebev.com
电话:025-58642091

作者:zhongguoren666 发表于2012-1-13 9:10:47 原文链接
阅读:4 评论:0 查看评论

 
 

可从此处完成的操作: