来源:http://www.comsharp.com/GetKnowledge/zh-CN/101WebRulesOverView.aspx
很好的一篇文章,对于如何来设计和制作页面提供一些指导性的意见。
大的方面:
内容 (我有真才实学)
易于使用 (容易沟通与相处)
设计 (看上去也很棒)
安全 (非常可靠)
性能 (健康强壮)
W3C标准 (遵守规则)
SEO (被很多人关注)
细化的指标:
内容
1
丰富的内容
2
准确的内容
3
不断更新的内容
4
内容要专业
5
具有原创性
6
内容要完整
7
内容包含图文,但以文字为主
易用性
24
只使用成熟,简单,兼容的技术
25
不使用任何网页特效
26
清晰,统一的导航
27
导航深度不超过三级
28
导航链接中必须包含文字(即使使用图片作为导航按纽)
29
必须有纯文本版本的站点地图
30
必须有面包屑导航条
31
每页都有自己的标题
32
任何页都有一个链接指向首页
33
网站的 Logo 指向首页
34
对于连贯性内容(sequential content),应提供向导式导航
35
全文搜索
36
不使用欢迎页
37
任何图片必须设置 ALT 和 TITLE 属性
38
如果图片要以 Thumbnail 形式显示,使用真正的降低了尺寸的 Thumbnail,不要只是改变图片的 Width, Height
39
链接必须拥有可标识的视觉特征
40
任何页都有一个打印友好版本
41
页面都使用一致的配色和一致的结构
42
根据当前主流的显示器尺寸,您的站点应当避免让绝大多数用户左右滚动窗口
43
站点必须在第一级导航深度处,让用户看到您的完整联系方式
44
每个页面的尺寸应当小于50K(尽量做到最小)
45
在所有主流浏览器中拥有一致的表现
46
在用户操作现场提供帮助,而不是让用户进入专门的帮助系统查找帮助
47
用户可以对某些内容进行评论或反馈
48
页面不可过分拥挤
49
用不同色彩标识未访问和已访问过的链接
50
使用所有人都可以正确显示的字体
51
除非真正必要,否则不用新窗口打开链接
52
不使用满屏模式显示网页,让用户自己决定窗口的大小
53
不要弹出窗口
54
用户注册的时候,只填写必要的内容,事实上,应该只需填写用户名和密码
55
在网页上加广告,需要明确标志出,这是广告
56
广告不可使用欺骗伎俩,欺骗不熟练的用户点击
57
剥离了 Javascript, CSS 等支持文件,您的网页仍然能准确的显示
设计
58
为初次访问者传递专业的第一印象
59
面向行业设计
60
设计不可喧宾夺主
61
设计遵循优雅原则(elegant)
62
设计遵守平和原则(peace)
63
包含醒目的 Logo
64
包含一套非常吸引人的企业 Banner
65
企业 Banner 应当定期更新
66
企业 Banner 体现企业动态
67
合理安排页面重心,不可有头重脚轻的感觉
68
全站遵守一致的设计风格
69
优化图片尺寸,适当调整 JPG 压缩比,尽可能减少颜色数(在视觉和大小方面进行折衷,尽量保持图片体积小一点)
安全
70
使用安全的数据库技术
71
用户密码或其它机密数据必须用成熟加密技术加密后再存放到数据库
72
密码或其它机密数据必须用成熟加密技术加密后才能通过表单传递
73
密码或其它机密数据必须用成熟加密技术加密后才能写入 Cookie
74
对于访问者提交的任何数据,都要进行恶意代码检查
75
网站必须有安全备份和恢复机制
76
网站的错误信息必须经过处理后再输出
性能
77
对数据库进行优化设计
78
使用 Store Procedure 进行数据库和网站业务层的数据交流
79
分页返回数据库中的记录,不使用业务层的分页
80
使用成熟优化的 Web 页面渲染技术
81
使用 XHTML + External CSS + External Javascript 降低 Http 请求
82
使用干净代码(XHTML, Javascript, CSS)
W3C 标准
83
您的网站应该符合 W3C ...
之前编译程序的时候发现了这个问题:warning: this decimal constant is unsigned only in ISO C90
找了一下解决方式,记录一下:
1 在常数后面增加一个UL标识,或者ULL表示,如4294967295UL,这样就不会报警了
2 使用十六进制的数字,如0xFFFFFFFF
3 使用gcc -std=c99 用99标准来编译
看看c的标准里面是怎么说的:
The C90 rule that the default type of a decimal integer constant is either int, long, or
unsigned long, depending on which type is large enough to hold the value without overflow,
simplifies the use of constants. The ...
呵呵,有时常常会对Javascript对url编码的三个函数:esapce,encodeURI,encodeURLComponent,以及这个三个函数对应的解码函数感到困惑。
今天就来一一解读一下,整理一下自己的思路:):
1 escape
这个是最古老的,实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如“春节”的返回结果是%u6625%u8282,也就是说在Unicode字符集中,“春”是第6625个(十六进制)字符,“节”是第8282个(十六进制)字符。 在地址栏执行:javascript:alert(escape('春节'))试试。
它的具体规则是,除了ASCII字母、数字、标点符号“@ * _ + - . /”以外,对其他所有字符进行编码。在\u0000到\u00ff之间的符号被转成%xx的形式,其余符号被转成%uxxxx的形式。
对应的解码函数是unescape()。
2 encodeURI
encodeURI()是Javascript中真正用来对URL编码的函数。
它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号“; / ? : @ & = + $ , #”,也不进行编码。
编码后,它输出符号的utf-8形式,并且在每个字节前加上%。试试:javascript:alert(encodeURI('http://www.qq.com?a=春节&b=3+2'));
它对应的解码函数是decodeURI()。
3 encodeURIComponent
最后一个Javascript编码函数是encodeURIComponent()。与encodeURI()的区别是,它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。
因此,“; / ? : @ & = + $ , #”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样。
试试这段代码:javascript:alert(encodeURIComponent('http://www.qq.com?a=春节&b=3+2')) 所以使用encodeURIComponent时一般都是对参数来进行编码。
它对应的解码函数是decodeURIComponent()
参考:
http://www.w3school.com.cn/js/jsref_escape.asp
之前搞了一篇dtd中各个元素嵌套说明,后来找到了一个详细的关于dtd的解读,感觉不错,转载之,备查阅。
转载过来的效果不是很好,建议大家查看原文:http://www.cssforest.org/wiki/index.php?n=Cssforest.Xhtmldtd
XHTML 1.0 Transitional
XHTML 1.0 Strict
XHTML 1.0 Frameset
Tag Index (标签索引)
A
a | abbr | acronym | address | area
B
body | b | br | bdo | big | button | blockquote | base
C
code | cite | caption | colgroup | col
D
dfn | dl | div | dt | dd| del
E
em
F
fieldset | form
H
html ...
之前写html的时候,发现一些block的元素写在inline里面会报错,不合乎xhtml的规范,后来就找到了一篇关于xhtml中dtd说明的关于各种类型元素的嵌套说明,才明白其中的原因。
翻译自:http://www.cs.tut.fi/~jkorpela/html/strict.html
再说明:曾经遇到过title标签中有一些特殊字符如</t>导致title标签在一些浏览器如ie下页面的内容无法渲染,出现一个空的页面。
查看了dtd说明才知道title标签中使用的是#PCDATA类型的内容。#PCDATA要求是需要对html的字符进行转义的,如>需要转义为>
对于阅读dtd的说后说到的#CDATA,这个东东一般而言是任意字符,不过在一些特殊的场合它会有不同的表现,具体可以查看:http://www.flightlab.com/~joe/sgml/cdata.html
关于html中block和inline类型元素的说明:
<!--
HTML has two basic content models:
%inline; character level elements and text strings
%block; block-like elements e.g. paragraphs and lists
-->
HTML
HEAD
TITLE (required)
SCRIPT, STYLE
CDATA
BASE, META, LINK (empty)
OBJECT ...
APUE上有讲到程序的内存地址的分布,没有找到那幅图,恰好这里有一篇文章有比较详细的描述,转载一下。
对于理解堆栈溢出,页表机制、进程空间等会有更好的理解。
内存管理是操作系统的核心功能,无论对于开发者还是系统管理员内存管理的重要性都是不言而喻的。我会在接下来的几篇文章通过计算机的实际运行过程谈谈内存管理,当然在必要的时候我也会从底层原理去阐释这个问题。我们提到的概念是不局限于平台特性的通用概念,不过为了阐述这些概念我们选取的实例大多来源于Linux和基于x86架构的32位Windows操作系统。这篇文章,我们首先来看看程序是如何使用内存的。
多任务操作系统中,每一个进程都有它自己的内存“沙盒”。所谓“沙盒”,是指虚拟地址空间,在32位模式下,虚拟地址空间最多能表示4GB容量。通过页表机制,虚拟地址空间能够映射到物理内存。页表由操作系统内核来管理,并可被处理器访问。每个进程有着属于自己的页表,不过进程也不能随心所欲。因为虚拟地址一旦投入使用,所有在计算机中运行的软件都会占用虚拟地址空间,包括操作系统内核自身。也就是说,操作系统内核将保留一部分虚拟地址空间。
这并不意味着系统内核能够肆无忌惮的使用物理内存,系统内核只能使用其管辖的虚拟地址空间所对应的物理内存。系统内核所使用的内存空间通过特权码(privileged code,2级或者更低)来标记,以防止用户模式的程序访问到内核空间而发生页面错误。在Linux中,内核始终占用着一定空间,并且每个内核进程映射的物理内存地址是固定的。因此,内核代码与数据在内存中的地址总是能够被准确定位,从而为时刻处理中断以及系统调用做好了准备。与此相反,只要用户进程状态发生变化,其映射的地址空间也随即改变。
图中蓝色区域表示虚拟地址中映射到物理内存的部分,白色区域则是未映射。在这个例子中,Firefox惊人的内存需求让它使用的虚拟地址远远超过了其自身的地址空间。内存地址空间是由诸如堆、栈等段式内存管理方式进行管理的。需要指出的是,这里段的概念只不过是表示了一段内存地址,它和Intel段表机制(Intel-style segments)没有任何关系。总的来说,我们在这里讨论的是Linux系统进程标准的段式内存管理方法。
如果运行过程轻松愉快、准确无误,那么上图显示的段式虚拟地址管理启用过程对于计算机内几乎所有进程都完全一致。而这种机制为远程攻击带来了安全隐患。远程攻击往往需要参考绝对内存地址:诸如栈地址、库函数地址等等。而远程攻击者们知道了这些地址空间是固定的,他们闭着眼睛都能找到他们需要的位置。倘若真的如此,那么人们毫无疑问就会被黑客攻击了。正因为如此,随即地址空间已经成为流行的内存地址管理方式。Linux随机为栈(stack)、内存映射段(memorymapping segment)以及堆(heap )的起始地址添加偏移量。不幸的是,32位地址空间非常吃紧,限制了随机分配地址的范围和效率(hamperingits effectiveness)。
进程地址空间的首段地址便是栈,它储存了局部变量以及大多数编程语言的函数参数。当调用方法或者函数时,会有一个新的元素进栈。一旦函数返回了值,那么该元素就会被销毁。这种简单的设计,很有可能是考虑到数据操作都符合后进先出(LIFO )规则,这意味着访问栈的内容并不需要复杂的数据结构,一个简单的栈顶指针就能搞定一切。进栈和出栈的操作方便快捷,不需要过多判断。另外,栈的反复使用能够使栈主流在CPU缓存(cpu caches)中,从而加快数据存取。每个进程中的每个线程都有属于自己的栈。
如果映射的栈地址空间被压入了超过栈容量的数据,那么栈便无法继续工作了。这种情况会导致一个由expand_stack(),函数处理的页面错误,这个函数会调用acct_stack_growth() 函数去检查是否应该为这个栈增加容量。如果这个栈的容量低于RLIMIT_STACK (通常为 8MB)限定的值,那么栈的容量会正常增加,程序也会继续正常运行,并且程序不会知道刚刚发生了什么。当然,这是根据实际需要来调整栈大小的一般机制,如果栈的容量达到了最大值上限,那么栈就会溢出,程序也会收到一个段出错的信息。虽然在程序需要的时候映射的栈空间会增加,但是栈使用的空间减少时,栈却不会释放多于的空间。这就好像联邦政府预算,只可能越来越多。
程序存取上图所示的未映射区域,是唯一正常实现动态增加栈空间的情况,程序访问其他未映射内存访问将会出现页面错误最终导致段错误。有些映射区域是只读的,程序试图写入这些区域同样会导致这种错误。
说到堆,我们就不得不提它的内存使用机制。堆支持运行时内存分配,和栈不同,大多数语言都允许程序使用堆管理内存。满足内存需求是语言运行时和C语言核心间的联结点,而堆的内存管理接口是通过malloc()及其友元函数来实现的,在C#这样支持垃圾回收机制的语言中,其接口是新定义的关键字。
当堆的空间能够满足程序的内存请求时,那么请求的处理过程就可以直接由语言运行时来负责,而不必有系统内核参与。但是如果堆的空间不能满足程序的内存申请,那么brk()函数会执行系统调用(implementation)来增加堆得内存空间以满足程序的请求。堆管理的实现过程十分复杂,,面对程序内存分配变化莫测的情况,堆管理需要成熟的算法去提升请求的响应速度与内存利用率。系统响应堆的内存请求花费的时间往往变化很大。实时操作系统解决这个问题的方法是采用专用内存分配器( special-purposeal locators)。堆在内存中的分布情况和其他内存管理管理机制一样充满了碎片,如下图所示:
最后,我们来聊聊刚才图中位置最下方的几个内存段:BSS段、数据段和程序段。在C语言中,BSS段和数据段存储的都是静态(全局)变量。这几个段的不同之处在于BSS段存储的静态变量没有初始化——程序员在源代码中并没有为这些静态变量赋值。由于BSS段并没有映射任何文件,所以BSS段在内存中是以匿名形式存在的。举个例子,假设你定义了变量static int cntActiveUsers,那么cntActiveUsers 的数据就保存在BSS段中。
与BSS段不同的是,数据段储存了在源代码中经过了初始化的静态变量。因此,数据段的内存区域并不是匿名的。数据段映射了程序二进制映像中源代码给出静态变量初值的部分。所以,如果你定义了static int cntWorkerBees = 10,那么cntWorkerBees变量会赋以初值10并在数据段中保存下来。尽管数据段映射了文件,但这种内存映射是私有的,也就是说,数据段的内存更新不会在其映射的文件中生效。这样造成的结果就是,虽然全局变量的改变应用到了文件在内存中的二进制映像,但是文件本身却不能作出相应的变化!
下面图表中的示例由于使用了指针所以看起来不那么明了。在这个示例中,指针在数据段中占用了4个字节,但是指针所指向的字符串则不在数据段中。对于字符串,内存为它们准备了专门的文本段,文本段以只读的形式存储程序中诸如字符串类型等不会被直接执行的代码。文本段同样会将二进制文件映射到内存,但文件映射区域的写入操作只能以程序收到段错误而告终。这种机制能有效防止指针的错误指向导致的误操作,不过也不得不承认这种做法显然没有直接在C语言代码中进行保护来的效率高。下面的图表显示了刚刚我们讨论到的段以及变量示例:
如果你想了解Linux中的进程是如何使用内存的,你可以读读源代码文件/proc/pid_of_process/maps。值得一提的是,一个内存段往往由多个区域组成。例如,每个正确映射到内存的文件都有属于自己的段,动态库文件则拥有另外的段,这些段类似于BSS段与数据段。下一篇文章我们将进一步探讨“区域”的含义。另外,也会谈谈我个人对“数据段就是数据、BSS以及堆的总和”这种观点的看法。
使用nm和objdump命令能够显示二进制映像的标识,映像的地址、段等等信息都可以查阅。最后要指出的是,上文讨论的Linux虚拟地址管理机制是“灵活”的,该机制在Linux中作为首选已经沿用了几年。使用这种机制要求程序为RLIMIT_STACK变量赋值,如果没有,那么Linux则退回到“传统”方式管理内存,如下图所示:
该图呈现了虚拟地址空间的管理方式。下一篇文章我们将讨论系统内核是如何跟踪这些内存区域的。进而我们会看看内存映射原理、与之相关的文件读写机制以及内存使用情况图表所揭示的含义。
转自:http://kb.cnblogs.com/page/66608/
参考:
http://www.searchforum.org.cn/seminar/members/zzj/MyPapers/Others/MemMan.htm
===============================================================================
-----------------
高地址 | ...
好久没有接触过面试了,偶尔被人面了一下就不知所措了。呵呵,在准备去那个公司面试之前,如果是面试一个程序员的话,建议还是对常用的排序以及一些语言的细节部分做一下备注,便于自己的发挥。
一般而言,平时常用到的排序一般也就是快排以及冒泡了。
1 从大量的结果中选择出最大的100位或者最小的100位。
对于最大的100位的话,建议使用小顶堆,因为小顶堆的头部总是最小的,这样的话,每次比较的时候,如果小于根节点的话,就无需在进行比较了。
对于最小的100位的话,建议使用大顶堆,因为大顶堆的头部总是最大的,这样的话,每次比较的时候,如果大于根节点的话,就无需进行比较了。
一小点的改变就能带来性能上的改变,何乐而不为呢。
2 如果一个数组里面有大量的乱序存放的数字,数组比较大,需要进行较多次的统计出某一个数字出现的次数,这是在实际统计中常常会用到的。
如果每次都根据一个数字去遍历一下这个数组,复杂度就是o(n)了,如果利用简单的hash或者位图,花费一点空间去为这个数组建立一个索引表,
将数组的中的数作为key的话,就能够一次得到了所以数重复的字数。以后每次统计的话,只是需要0(1)的复杂度了。
3 如果一个大集合里面数据量很大,但是都是唯一的,如何高效的来排序。
32位机子上整型的最大就是4G,40亿这么大,利用位图,只需要500M的空间就能表示下这些内容,这样的话,建立一个500M的位图数组,
遍历一遍数据,修改位图中对应的位,再遍历一遍位图就能对这个大数据量集合进行排序了。
参考:
1 关于堆排序:http://baike.baidu.com/view/157305.htm
2 关于快排:http://baike.baidu.com/view/19016.htm
最近需要通过php调用一个脚本时直接将脚本中的输出的及时的输出出来。找了一下,基本解决了这个问题。
查看了一下php.ini的配置,发现output_buffering = On,输出缓冲区是打开的,在程序里怎么flush都不行,
但是修改一下web服务器的配置文件对其它用户会有影响,只好利用web服务器提供的设置接口了。
<FilesMatch "buftest.php$">
php_flag output_buffering off
</FilesMatch>
有的同学会问,为什么不在程序里通过ini_set来设置呢?
观察一下php的各个设置项说明:
oracle.max_links
"-1"
PHP_INI_ALL
oracle.max_persistent
"-1"
PHP_INI_ALL
output_buffering
"0"
PHP_INI_PERDIR
output_handler
NULL
PHP_INI_PERDIR
从 PHP 4.0.4 起可用。
pdo_odbc.connection_pooling
"strict"
PHP_INI_ALL
从 PHP 5.1.0 起可用。
pfpro.defaulthost
"test-payflow.verisign.com"
PHP_INI_ALL
从 PHP 4.0.2 起可用。
这里的PHP_INI_PERDIR说明了这个配置只能在php.ini或者httpd.conf或者.htaccess文件来设置。
PHP_INI_* 常量的定义
PHP_INI_USER
1
配置选项可在用户的 PHP 脚本或 Windows 注册表中设置
PHP_INI_PERDIR
2
配置选项可在 php.ini, .htaccess 或 httpd.conf 中设置
PHP_INI_SYSTEM
4
配置选项可在 php.ini or httpd.conf 中设置
PHP_INI_ALL
7
配置选项可在各处设置
通过ini_set能够设置也只有PHP_INI_ALL的变量了。
下面是程序的是一个示例:
buftest .php
<?php
echo "test ......................................................<br/>";
@flush();
echo "sleep(10)<br/>";
sleep(10);
echo "after sleep...................................................<br/>";
@flush();
echo "sleep(10)<br/>";
sleep(10);
echo "after sleep2...................................................<br/>";
@flush();
echo "sleep(10)<br/>";
sleep(10);
echo "after sleep3...................................................<br/>";
?>
修改了配置后,执行这个程序就看到效果了。
如果你的程序中使用到ob_start,那么需要flush需要配合ob_flush()的调用才行。
参考:
http://php.net/manual/en/configuration.changes.php
常常我们用ultraedit或者editplus编辑utf文件的时候,常常会发现文件的前面有几个奇怪的不可见的字符。十六进制是EF BF FF “锘?”
这个东东是干么的呢。这个叫做BOM文件头 Byte order mark。这个utf的字符的东东是用来标识一个文件的字节的顺序。windows的开发人员常常使用。但是对于linux下开发的同学来说,
这是一件麻烦的事情,我曾经在解析一个windows上开发的同事给的utf文件的时候越到了很大的麻烦。一方面,windows上说的utf是utf16的文件格式,linux下说utf一般是utf8,另一方面
windows上同学生成的utf文件前面都加了两个或者三个字节的bom文件头,所以在linux下解析的时候,需要fseek跳过这几个字符。悲哀啊!
话说回来,在windows上使用ultraedit编辑文件的时候,如何去掉这个让人讨厌的bom文件头呢。
1 编辑ultraedit的配置,里面有一个“文件处理” 的选项,下面有一个“保存”的选项,将选项“保存时对所有UTF-8写入UTF-8文件头标记(BOM)”关闭
2 或者在保存文件的时候,选择另存为,在另存为时选择“格式”为无 bom 格式
问题终于解决。善莫大焉,只可惜我调试程序花费的半个小时的时间。
看看wiki上关于bom的格式的说明,对于有时需要判断一个文件的格式还是有一些帮助的。
Encoding
Representation (hexadecimal)
Representation (decimal)
Representation (ISO-8859-1)
UTF-8
EF BB BF[t 1]
239 187 191

UTF-16 (BE)
FE FF
254 255
þÿ
UTF-16 (LE)
FF FE
255 254
ÿþ
UTF-32 (BE)
00 00 FE FF
0 0 254 255
□□þÿ (□ is the ascii null character)
UTF-32 (LE)
FF FE 00 00
255 254 0 0
ÿþ□□ (□ is the ascii ...
F1帮助
F2改名
F3搜索
F4地址
F5刷新
F6切换
F10菜单
CTRL+A全选
CTRL+C复制
CTRL+X剪切
CTRL+V粘贴
CTRL+Z撤消
CTRL+O打开
SHIFT+DELETE永久删除
DELETE删除
ALT+ENTER属性
ALT+F4关闭
CTRL+F4关闭
ALT+TAB切换
ALT+ESC切换
ALT+空格键窗口菜单
CTRL+ESC开始菜单
拖动某一项时按CTRL复制所选项目
拖动某一项时按CTRL+SHIFT创建快捷方式
将光盘插入到CD-ROM驱动器时按SHIFT键阻止光盘自动播放
Ctrl+1,2,3... 切换到从左边数起第1,2,3...个标签
Ctrl+A 全部选中当前页面内容
Ctrl+C 复制当前选中内容
Ctrl+D 打开“添加收藏”面版(把当前页面添加到收藏夹中)
Ctrl+E 打开或关闭“搜索”侧边栏(各种搜索引擎可选)
Ctrl+F 打开“查找”面版
Ctrl+G 打开或关闭“简易收集”面板
Ctrl+H 打开“历史”侧边栏
Ctrl+I 打开“收藏夹”侧边栏/另:将所有垂直平铺或水平平铺或层叠的窗口恢复
Ctrl+K 关闭除当前和锁定标签外的所有标签
Ctrl+L 打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...)
Ctrl+N 新建一个空白窗口(可更改,Maxthon选项→标签→新建)
Ctrl+O 打开“打开”面版(可以在当前页面打开Iternet地址或其他文件...)
Ctrl+P 打开“打印”面板(可以打印网页,图片什么的...)
Ctrl+Q 打开“添加到过滤列表”面板(将当前页面地址发送到过滤列表)
Ctrl+R 刷新当前页面
Ctrl+S 打开“保存网页”面板(可以将当前页面所有内容保存下来)
Ctrl+T 垂直平铺所有窗口
Ctrl+V 粘贴当前剪贴板内的内容
Ctrl+W 关闭当前标签(窗口)
Ctrl+X 剪切当前选中内容(一般只用于文本操作)
Ctrl+Y 重做刚才动作(一般只用于文本操作)
Ctrl+Z 撤消刚才动作(一般只用于文本操作)
Ctrl+F4 关闭当前标签(窗口)
Ctrl+F5 刷新当前页面
Ctrl+F6 按页面打开的先后时间顺序向前切换标签(窗口)
Ctrl+F11 隐藏或显示菜单栏
Ctrl+Tab 以小菜单方式向下切换标签(窗口)
Ctrl+Enter 域名自动完成http://www.**.com(内容可更改,Maxthon选项→地址栏→常规)/另:当输入焦点在搜索栏中时,为高亮关键字
Ctrl+拖曳 保存该链接的地址或已选中的文本或指定的图片到一个文件夹中(保存目录可更改,Maxthon选项→保存)
Ctrl+小键盘'+' 当前页面放大20%
Ctrl+小键盘'-' 当前页面缩小20%
Ctrl+小键盘'*' 恢复当前页面的缩放为原始大小
Ctrl+Alt+S 自动保存当前页面所有内容到指定文件夹(保存路径可更改,Maxthon选项→保存)
Ctrl+Shift+小键盘'+' 所有页面放大20%
Ctrl+Shift+小键盘'-' 所有页面缩小20%
Ctrl+Shift+F 输入焦点移到搜索栏
Ctrl+Shift+G 关闭“简易收集”面板
Ctrl+Shift+H 打开并激活到你设置的主页
Ctrl+Shift+N 在新窗口中打开剪贴板中的地址,如果剪贴板中为文字,则调用搜索引擎搜索该文字(搜索引擎可选择,Maxthon选项→搜索)
Ctrl+Shift+S 打开“保存网页”面板(可以将当前页面所有内容保存下来,等同于Ctrl+S)
Ctrl+Shift+W 关闭除锁定标签外的全部标签(窗口)
Ctrl+Shift+F6 按页面打开的先后时间顺序向后切换标签(窗口)
Ctrl+Shift+Tab 以小菜单方式向上切换标签(窗口)
Ctrl+Shift+Enter 域名自动完成
Alt+1 保存当前表单
Alt+2 保存为通用表单
Alt+A 展开收藏夹列表
资源管理器
END显示当前窗口的底端
HOME显示当前窗口的顶端
NUMLOCK+数字键盘的减号(-)折叠所选的文件夹
NUMLOCK+数字键盘的加号(+)显示所选文件夹的内容
NUMLOCK+数字键盘的星号(*)显示所选文件夹的所有子文件夹
向左键当前所选项处于展开状态时折叠该项,或选定其父文件夹
向右键当前所选项处于折叠状态时展开该项,或选定第一个子文件夹
自然键盘
【窗口】显示或隐藏“开始”菜单
【窗口】+F1帮助
【窗口】+D显示桌面
【窗口】+R打开“运行”
【窗口】+E打开“我的电脑”
【窗口】+F搜索文件或文件夹
【窗口】+U打开“工具管理器”
【窗口】+BREAK显示“系统属性”
【窗口】+TAB在打开的项目之间切换
辅助功能
按右边的SHIFT键八秒钟切换筛选键的开和关
按SHIFT五次切换粘滞键的开和关
按NUMLOCK五秒钟切换切换键的开和关
左边的ALT+左边的SHIFT+NUMLOCK切换鼠标键的开和关
左边的ALT+左边的SHIFT+PRINTSCREEN切换高对比度的开和关
运行
按“开始”-“运行”,或按WIN键+R,在『运行』窗口中输入:
(按英文字符顺序排列)
%temp%---------打开临时文件夹
.--------------C:\DocumentsandSettings\用户名所在文件夹
..-------------C:\DocumentsandSettings
...------------我的电脑
\--------------C盘
appwize.cpl----添加、删除程序
access.cpl-----辅助功能选项
Accwiz---------辅助功能向导
cmd------------CMD命令提示符
command--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查
certmgr.msc----证书管理实用程序
calc-----------启动计算器
charmap--------启动字符映射表
cintsetp-------仓颉拼音输入法
cliconfg-------SQLSERVER客户端网络实用程序
clipbrd--------剪贴板查看器
control--------打开控制面板
conf-----------启动netmeeting
compmgmt.msc---计算机管理
cleanmgr-------垃圾整理
ciadv.msc------索引服务程序
dcomcnfg-------打开系统组件服务
ddeshare-------打开DDE共享设置
dxdiag---------检查DirectX信息
drwtsn32-------系统医生
devmgmt.msc----设备管理器
desk.cpl-------显示属性
dfrg.msc-------磁盘碎片整理程序
diskmgmt.msc---磁盘管理实用程序
dvdplay--------DVD播放器
eventvwr-------一个事情查看器
eudcedit-------造字程序
explorer-------打开资源管理器
fsmgmt.msc-----共享文件夹管理器
firewall.cpl---WINDOWS防火墙
gpedit.msc-----组策略
hdwwiz.cpl-----添加硬件
iexpress-------木马捆绑工具,系统自带
inetcpl.cpl----INTETNET选项
intl.cpl-------区域和语言选项(输入法选项)
irprops.cpl----无线链接
joy.cpl--------游戏控制器
lusrmgr.msc----本机用户和组
logoff---------注销命令
main.cpl-------鼠标
mem.exe--------显示内存使用情况
migwiz---------文件转移向导
mlcfg32.cpl----邮件
mplayer2-------简易widnowsmediaplayer
mspaint--------画图板
msconfig.exe---系统配置实用程序
mstsc----------远程桌面连接
magnify--------放大镜实用程序
mmc------------打开控制台
mmsys.cpl------声音和音频设备
mobsync--------同步命令
ncpa.cpl-------网络连接
nslookup-------IP地址侦测器
netstartX----开始X服务
netstopX-----停止X服务
netstat-an----命令检查接口
netsetup.cpl---无线网络安装向导
notepad--------打开记事本
nslookup-------IP地址侦探器
narrator-------屏幕“讲述人”
ntbackup-------系统备份和还原
ntmsmgr.msc----移动存储管理器
ntmsoprq.msc---移动存储管理员操作请求
nusrmgr.cpl----用户账户
nwc.cpl--------NetWare客户服务
osk------------打开屏幕键盘
odbcad32-------ODBC数据源管理器
odbccp32.cpl---ODBC数据源管理器
oobe/msoobe/a-检查XP是否激活
packager-------对象包装程序
perfmon.msc----计算机性能监测程序
powercfg.cpl---电源选项
progman--------程序管理器
regedit--------注册表
rsop.msc-------组策略结果集
regedt32-------注册表编辑器
regsvr32/?----调用、卸载DLL文件运行(详细请在cmd中输入regsvr32/?)
sapi.cpl-------语音
services.msc---本地服务设置
syncapp--------创建一个公文包
sysedit--------系统配置编辑器
sigverif-------文件签名验证程序
sndrec32-------录音机
sndvol32-------音量控制程序
shrpubw--------共享文件夹设置工具
secpol.msc-----本地安全策略
sysdm.cpl------系统
syskey---------系统加密(一旦加密就不能解开,保护windowsxp系统的双重密码)
services.msc---本地服务设置
sfc.exe--------系统文件检查器
sfc/scannow---windows文件保护
shutdown-------关机命令(详细请在cmd中输入shutdown/?)
taskmgr--------任务管理器
telephon.cpl---电话和调制解调器选项
telnet---------远程连接程序
timedate.cpl---日期和时间
tourstart------xp简介(安装完成后出现的漫游xp程序)
tsshutdn-------60秒倒计时关机命令
utilman--------辅助工具管理器
winver---------检查Windows版本
winmsd---------系统信息
wiaacmgr-------扫描仪和照相机向导
winchat--------XP自带局域网聊天
wmimgmt.msc----打开windows管理体系结构(WMI)
wordpad--------写字板
wuaucpl.cpl----自动更新
wupdmgr--------windows更新程序
write----------写字板
wscript--------windows脚本宿主设置
wscui.cpl------安全中心
C:/windows/fonts字体