最新帮深圳北大青鸟的网站做一个随机实现公司网址排名的JS脚本,原来用的是sort方法,但这种方法实现起来最终会导致最后的DIV出现在第一个的频率达50%,无法公平、公正。以下我写的代码实现了公平、公正原则,呵呵,秀一下。
<HTML><HEAD><TITLE>深圳北大青鸟/北大青鸟/电脑学校/IT培训/培训/计算机学校</TITLE>
<META http-equiv=Content-Type content=\\\"text/html; charset=gb2312\\\">
<META content=深圳北大青鸟是北大青鸟电脑学校专业做IT培训的计算机学校 name=description>
<META content=深圳北大青鸟,北大青鸟,电脑学校,IT培训,培训,计算机学校 name=keywords>
<STYLE type=text/css>
.body {
FONT-SIZE: 12px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif,宋体
}
TABLE {
FONT-SIZE: 12px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif,宋体
}
TD {
FONT-SIZE: 12px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif,宋体
}
A {
COLOR: #000; TEXT-DECORATION: none
}
A:hover {
COLOR: #000; BOTTOM: 1px; POSITION: relative; TEXT-DECORATION: none; outline: none
}
A:unknown {
outline: none
}
A:visited {
outline: none
}
.STYLE1 {
FONT-WEIGHT: bold; COLOR: #ff0000
}
#main {
WIDTH: 680px
}
#main DIV {
MARGIN-TOP: 0px; FLOAT: left; MARGIN-LEFT: 0px; WIDTH: 680px
}
DIV TABLE {
WIDTH: 100%
}
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
</STYLE>
<SCRIPT type=text/javascript charset=GB2312>
function arrRand(obj){
var a = new Array();
var x = new Array();
for(var i = 0;i < obj;i++){
a[i] = i + 1;
}
for(var i=0; i<obj;i++){
x[i] = a.splice (Math.floor (Math.random () * a.length) , 1);
}
return x;
}
function randTable(){
var c = arrRand(len);
for(var k = 0;k < len;k ++){
divs[c[k] - 1].innerHTML = b[k];
}
}
var b = new Array();
var divs = new Object;
var len;
window.onload = function(){
divs = document.getElementById(\\\"main\\\").getElementsByTagName(\\\"div\\\");
len = divs.length;
for(var j = 0;j < len;j++){
b[j] = divs[j].innerHTML;
}
randTable();
}
</SCRIPT>
<META content=\\\"MSHTML 6.00.2900.3492\\\" name=GENERATOR></HEAD>
<BODY bgColor=transparent>
<DIV id=main>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=罗湖(软件)校区 href=\\\"http://www.0755accp.com/\\\"
target=_blank><SPAN
class=STYLE1>罗湖(软件)校区:</SPAN>深圳市罗湖区宝安北路桃园商业大厦7楼南区(罗湖人才市场旁)</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=地王书城(软件)校区 href=\\\"http://www.benet-wh.com.cn/\\\"
target=_blank><SPAN
class=STYLE1>地王书城(软件)校区:</SPAN>深圳市罗湖区宝安南路嘉宾花园四楼(地王大厦斜对面,深圳书城旁)</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=福田华强北(软件)校区 href=\\\"http://www.sz-aptech.com/\\\" target=_blank><SPAN
class=STYLE1>福田华强北(软件)校区:</SPAN>深圳市深南中路爱华大厦14楼(华强北兴华宾馆西侧)</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=福田(网络)校区 href=\\\"http://www.sz-aptech.com/\\\"
target=_blank><SPAN
class=STYLE1>福田(网络)校区:</SPAN>深圳市深南中路爱华电脑大厦5楼(华强北兴华宾馆西侧)</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=宝安(软件)校区 href=\\\"http://www.szaptech.com.cn\\\"
target=_blank><SPAN
class=STYLE1>宝安(软件)校区:</SPAN>深圳市宝安区25区商业步行街华丰时代广场5楼(海雅百货旁)</A></TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=南山科技园(网络)校区 href=\\\"http://www.sz-benet.net\\\"
target=_blank><SPAN
class=STYLE1>南山科技园(网络)校区:</SPAN>深圳市南山区科技园深南花园C座三楼</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=南头(网络)校区 href=\\\"http://www.szaptech.com.cn/\\\"
target=_blank><SPAN
class=STYLE1>南头(网络)校区:</SPAN>深圳市南山区南头南新天桥钰龙园D座3楼(国美电器旁)</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=福田(测试)校区 href=\\\"http://www.sz-aptech.com\\\"
target=_blank><SPAN
class=STYLE1>福田(测试)校区:</SPAN>深圳市福田区深南中路核电大厦三楼(深圳华强北兴华宾馆对面)</A></TD>
</TR></TBODY></TABLE></DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=南山(测试)校区 href=\\\"http://www.sz-test.com\\\"
target=_blank><SPAN
class=STYLE1>南山(测试)校区:</SPAN>深圳市南山区科技园南区创维大厦A座17楼</A></TD>
</TR>
</TBODY>
</TABLE>
</DIV>
<DIV>
<TABLE cellSpacing=0 cellPadding=0 width=\\\"100%\\\" border=0>
<TBODY>
<TR>
<TD height=28><A title=南山深圳大学(软件)校区 href=\\\"http://www.sz-accp.net/\\\"
target=_blank><SPAN
class=STYLE1>南山深圳大学(软件)校区:</SPAN>深圳市南山区学府路西部电子时代广场四楼(深圳大学旁)</A></TD>
</TR></TBODY></TABLE></DIV>
</DIV>
</BODY>
</HTML>
2009年3月31日星期二
通过js实现DIV随机排列
2009年3月26日星期四
PHP+Apache在Windows上的安装配置
该方法目前主要针对php5.2.6 + apache2.2.9,不过我想,更高的版本也应该适用,其中apache使用的Window安装版本,php使用的是zip版本。
PDO参数说明
因为自己PHPCORE的核心框架是用PDO进行数据库驱动的,所以,对于它的一些基本配置参数必须有一定的了解,以下是收集到部分内容,供日后参考使用:

2009年3月24日星期二
优化PHP代码的42条建议
在网上看到了《优化PHP代码的42条建议》,对于我的PHP代码优化很有帮助,现摘录下来,好好看看:
1.如果一个方法可静态化,就对它做静态声明。速率可提升至4倍。
2.echo 比 print 快。
3.使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接。
4.在执行for循环之前确定最大循环数,不要每循环一次都计算最大值。
5.注销那些不用的变量尤其是大数组,以便释放内存。
6.尽量避免使用__get,__set,__autoload。
7.require_once()代价昂贵。
8.在包含文件时使用完整路径,解析操作系统路径所需的时间会更少。
9.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
10.函数代替正则表达式完成相同功能。
11.str_replace函数比preg_replace函数快,但strtr函数的效率是str_replace函数的四倍。
12.如果一个字符串替换函数,可接受数组或字符作为参数,并且参数长度不太长,那么可以考虑额外写一段替换代码,使得每次传递参数是一个字符,而不是只写一行代码接受数组作为查询和替换的参数。
13.使用选择分支语句(译注:即switch case)好于使用多个if,else if语句。
14.用@屏蔽错误消息的做法非常低效。
15.打开apache的mod_deflate模块。
16.数据库连接当使用完毕时应关掉。
17.$row[‘id’]的效率是$row[id]的7倍。
18.错误消息代价昂贵。
19.尽量不要在for循环中使用函数,比如for ($x=0; $x <>
20.在方法中递增局部变量,速度是最快的。几乎与在函数中调用局部变量的速度相当。
21.递增一个全局变量要比递增一个局部变量慢2倍。
22.递增一个对象属性(如:$this->prop++)要比递增一个局部变量慢3倍。
23.递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。
24.仅定义一个局部变量而没在函数中调用它,同样会减慢速度(其程度相当于递增一个局部变量)。PHP大概会检查看是否存在全局变量。
25.方法调用看来与类中定义的方法的数量无关,因为我(在测试方法之前和之后都)添加了10个方法,但性能上没有变化。
26.派生类中的方法运行起来要快于在基类中定义的同样的方法。
27.调用带有一个参数的空函数,其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。
28.用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会。当然,只有当你不需要在字符串中包含变量时才可以这么做。
29.输出多个字符串时,用逗号代替句点来分隔字符串,速度更快。注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。
30.Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面,少用脚本。
31.除非脚本可以缓存,否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能,以免除编译开销。
32.尽量做缓存,可使用memcached。memcached是一款高性能的内存对象缓存系统,可用来加速动态Web应用程序,减轻数据库负载。对运算码 (OP code)的缓存很有用,使得脚本不必为每个请求做重新编译。
33.当操作字符串并需要检验其长度是否满足某种要求时,你想当然地会使用strlen()函数。此函数执行起来相当快,因为它不做任何计算,只返回在 zval 结构(C的内置数据结构,用于存储PHP变量)中存储的已知字符串长度。但是,由于strlen()是函数,多多少少会有些慢,因为函数调用会经过诸多步骤,如字母小写化(译注:指函数名小写化,PHP不区分函数名大小写)、哈希查找,会跟随被调用的函数一起执行。在某些情况下,你可以使用isset() 技巧加速执行你的代码。
(举例如下)
if (strlen($foo) < style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">(与下面的技巧做比较)
if (!isset($foo{5})) { echo “Foo is too short”$$ }
调用isset()恰巧比strlen()快,因为与后者不同的是,isset()作为一种语言结构,意味着它的执行不需要函数查找和字母小写化。也就是说,实际上在检验字符串长度的顶层代码中你没有花太多开销。
34.当执行变量$i的递增或递减时,$i++会比++$i慢一些。这种差异是PHP特有的,并不适用于其他语言,所以请不要修改你的C或Java代码并指望它们能立即变快,没用的。++$i更快是因为它只需要3条指令(opcodes),$i++则需要4条指令。后置递增实际上会产生一个临时变量,这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种,正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意,因为并不是所有的指令优化器都会做同样的优化处理,并且存在大量没有装配指令优化器的互联网服务提供商(ISPs)和服务器。
35.并不是事必面向对象(OOP),面向对象往往开销很大,每个方法和对象调用都会消耗很多内存。
36.并非要用类实现所有的数据结构,数组也很有用。
37.不要把方法细分得过多,仔细想想你真正打算重用的是哪些代码?
38.当你需要时,你总能把代码分解成方法。
39.尽量采用大量的PHP内置函数。
40.如果在代码中存在大量耗时的函数,你可以考虑用C扩展的方式实现它们。
41.评估检验(profile)你的代码。检验器会告诉你,代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序,评估检验总体上可以显示出代码的瓶颈。
42.mod_zip可作为Apache模块,用来即时压缩你的数据,并可让数据传输量降低80%。
2009年3月22日星期日
mysql的字符串函数
MYSQL对字符串的支持是非常强大的,很多功能直接写一段MYSQL语句就能实现,不用再写PH代码操作,以下列出一些相关函数及其用法,以备参考:
2009年3月20日星期五
CSS实现背景透明效果
利用CSS实现背景透明效果的方法很简单,但目前不同的浏览器有着不同的标准,现在列出一个适合于各个浏览器的CSS代码合集,以供日后备用:
CSS屏幕居中
如何让DIV屏幕居中呢?以下的CSS代码可以有效帮助你实现这一点:
新网站常用登录入口
建了一个网站却无人问津是非常痛苦的,不要急,以下给出了一些常用的登录入口,让你的网站先被搜索引擎收录吧!
添加百度登陆,尽量在各大搜索引擎登记一下,另外看看你搜索的关键字是什么,会不会范围太广了,有时网上类似你网站的名词太多话的会把你网站排到后面去的,另外多做一些外部链接,搜索引擎是通过连接来抓取的,多做外部链接对你网站快速收录有帮助
搜索登记接入口
Google搜索:http://www.google.com/intl/zh-CN/add_url.html
Google网页目录:http://directory.google.com/Top/World/Chinese_Simplified/
百度搜索:http://www.baidu.com/search/url_submit.html 百度搜霸下载 免费搜索代码
百度网址站:http://post.baidu.com/f?kw=百度site
226自助链:http://link.226.cc
爱问搜索:http://iask.com/guest/add_url.php
雅虎搜索:http://misc.yahoo.com.cn/search_submit.html
网易有道搜索:http://tellbot.yodao.com/report?keyFrom=help
Yahoo! :http://submit.search.yahoo.com/free/request/
中国搜索:http://service.chinasearch.com.cn/NetSearch/pageurlrecord/frontpageurl.jsp
有道搜索:http://tellbot.yodao.com/report
TOM搜索:http://search.tom.com/tools/weblog/log.php
天网搜索:http://home.tianwang.com/denglu.htm
MSN:http://beta.search.msn.com/docs/submit.aspx
Alexa:http://pages.alexa.com/help/webmasters/index.html#crawl_site
alltheweb:http://www.alltheweb.com/help/webmaster/submit_site
Gigablast:http://www.gigablast.com/addurl
2009年3月19日星期四
CSS小技巧:去除点击链接时的虚线框
点击链接时,会出现一个虚线框,感觉很不爽吧?用下面的CSS方法,可以有效的去除那个讨厌的虚线哦:
基于jQuery获取浏览器宽高的函数
我们在设计网页时,经常遇到要获取浏览器宽高的数值,以下函数是基于jQuery,非常实用。
if($.browser.msie){
document.body.clientHeight;
}else{
return self.innerHeight;
}
}

//获取浏览器宽度
if($.browser.msie){
return document.compatMode == "CSS1Compat"?document.documentElement.clientWidth :document.body.clientWidth;
}else{
return self.innerWidth;
}
}
[转]最常用的几个Chrome命令行参数功能详解
首先,在这里我觉得有必要提一下什么是命令行参数。简单的说,命令行参数也就是通过在程序的快捷方式目标后面添加一些特定的参数,来实现更酷更炫的效果。为Chrome添加命令行参数的方法很简单,直接右键Chrome快捷方式,然后点击“属性”,将命令行参数添加在“目标”栏的最后面即可,注意与主程序(Chrome.exe)之间有一个空格!
解释:将浏览器的user agent设置成“xxxxxxxx”
功能描述:通过改变浏览器的UserAgent,可以将Chrome浏览器伪装成其他的浏览器,以实现Chrome浏览器本省不能支持的功能。
典型应用:用Chrome浏览器免费订阅国外收费杂志
使用方法:后面的xxxxxxx为变量,可以更改为你需要的字符,比如将Chrome的useragent更改为www.wechrome.cn,则在快捷方式后面添加 --user-agent=“www.wechrome.cn”
解释:将浏览器的数据存放地点设置到指定路径
功能描述:可以将浏览器数据存放地点设置到非系统盘避免重新安装系统后浏览器数据(cookies\书签、历史记录、密码等)丢失。
使用方法:后面的[PATH]为变量,可以更改为你想要指定的路径,如D:\mychrome\,更改并运行之后程序会自动在D盘创建一个mychrome目录,存放浏览器数据。
解释:将浏览器设置为首次运行状态
功能描述:将浏览器设置为首次运行状态可以实现导入IE、Firefox最新数据的功能。
使用方法:直接将命令行参数添加到快捷方式目标后面。
解释:设置浏览器直接从隐身模式启动
功能描述:设置浏览器直接从隐身模式启动
使用方法:直接将命令行参数添加到快捷方式目标后面。
解释:只允许加载HTTPS安全站点
功能描述:只允许加载HTTPS安全站点,普通HTTP站点不加载
使用方法:直接将命令行参数添加到快捷方式目标后面。
解释:禁止Javascript运行
功能描述:通过禁止Javascript脚本运行,可以屏蔽页面上的很多广告,但是也可能导致一些非广告的单元不能显示。
扩展应用:--disable-images(禁止显示页面图像,网速慢的可考虑);--disable-Java(禁止Java程序运行)等等。
使用方法:直接将命令行参数添加到快捷方式目标后面。
解释:将地址栏弹出菜单的数量改为num个。注意num只能是一个阿拉伯数字,如30,则为--omnibox-popup-count="30"
功能描述:让一框多用更加强大
使用方法:将命令行参数添加到快捷方式目标后面,并更改引号内为你想要的值。
2009年3月15日星期日
利用CSS·实现自动链接图标
HTML/XHTML字符列表
以下是HTML/XHTML的字符列表,非常实用,具有一定的参考价值:
| | – | – | − | − | ° | ° | Δ | Δ | α | α | À | À | à | à | Ç | Ç | |
| € | € | — | — | ± | ± | º | º | Λ | Λ | β | β | Á | Á | á | á | ç | ç |
| ¢ | ¢ | … | … | √ | √ | ª | ª | Θ | Θ | γ | γ | Â | Â | â | â | Ð | Ð |
| £ | £ | § | § | ∞ | ∞ | ¹ | ¹ | Ξ | Ξ | δ | δ | Ã | Ã | ã | ã | ð | ð |
| ¥ | ¥ | ¶ | ¶ | ∝ | ∝ | ² | ² | Π | Π | ε | ε | Ä | Ä | ä | ä | Ñ | Ñ |
| ¤ | ¤ | † | † | × | × | ³ | ³ | Σ | Σ | ζ | ζ | Å | Å | å | å | ñ | ñ |
| ƒ | ƒ | ‡ | ‡ | ÷ | ÷ | ¼ | ¼ | Φ | Φ | η | η | Æ | Æ | æ | æ | Š | Š |
| © | © | ¡ | ¡ | ∼ | ∼ | ½ | ½ | Ψ | Ψ | θ | θ | È | È | è | è | š | š |
| ® | ® | ¿ | ¿ | ≈ | ≈ | ¾ | ¾ | Ω | Ω | ι | ι | É | É | é | é | ß | ß |
| ™ | ™ | ‰ | ‰ | ≅ | ≅ | ∴ | ∴ | ∇ | ∇ | κ | κ | Ê | Ê | ê | ê | Þ | Þ |
| • | • | · | · | ≡ | ≡ | ◊ | ◊ | ∫ | ∫ | λ | λ | Ë | Ë | ë | ë | þ | þ |
| < | < | ‘ | ‘ | ≤ | ≤ | ∩ | ∩ | ∑ | ∑ | μ | μ | Ì | Ì | ì | ì | ´ | ´ |
| > | > | ’ | ’ | ≥ | ≥ | ∪ | ∪ | ∏ | ∏ | ν | ν | Í | Í | í | í | ¨ | ¨ |
| ‹ | ‹ | ‚ | ‚ | ≠ | ≠ | ∧ | ∧ | ⊆ | ⊆ | ξ | ξ | Î | Î | î | î | ¸ | ¸ |
| › | › | “ | “ | ′ | ′ | ∨ | ∨ | ⊇ | ⊇ | ο | ο | Ï | Ï | ï | ï | ˆ | ˆ |
| « | « | ” | ” | ″ | ″ | ∈ | ∈ | ⊂ | ⊂ | π | π | Ò | Ò | ò | ò | ˜ | ˜ |
| » | » | „ | „ | ℘ | ℘ | ∉ | ∉ | ⊄ | ⊄ | ρ | ρ | Ó | Ó | ó | ó | Ґ | Ґ |
| " | " | ¬ | ¬ | ℑ | ℑ | ∋ | ∋ | ⊃ | ⊃ | ς | ς | Ô | Ô | ô | ô | ґ | ґ |
| & | & | ¦ | ¦ | ℜ | ℜ | ∠ | ∠ | ⊕ | ⊕ | σ | σ | Õ | Õ | õ | õ | І | І |
| µ | µ | | ­ | ℵ | ℵ | ♠ | ♠ | ⊗ | ⊗ | τ | τ | Ö | Ö | ö | ö | і | і |
| ‾ | ‾ | ¯ | ¯ | ⋅ | ⋅ | ♣ | ♣ | ⌈ | ⌈ | υ | υ | Ø | Ø | ø | ø | Ї | Ї |
| ⁄ | ⁄ |   | ∗ | ∗ | ♦ | ♦ | ⌉ | ⌉ | φ | φ | Œ | Œ | œ | œ | ї | ї | |
| ∂ | ∂ |   | ↵ | ↵ | ♥ | ♥ | ⌊ | ⌊ | χ | χ | Ù | Ù | ù | ù | Є | Є | |
| ⊥ | ⊥ |   | ↑ | ↑ | ⇑ | ⇑ | ⌋ | ⌋ | ψ | ψ | Ú | Ú | ú | ú | є | є | |
| ∅ | ∅ | | ‌ | ↓ | ↓ | ⇓ | ⇓ | 〈 | ⟨ | ω | ω | Û | Û | û | û | ₪ | ₪ |
| ∀ | ∀ | | ‍ | ← | ← | ⇐ | ⇐ | 〉 | ⟩ | ϑ | ϑ | Ü | Ü | ü | ü | ☺ | ☺ |
| ∃ | ∃ | ‼ | ‼ | → | → | ⇒ | ⇒ | ♀ | ♀ | ϒ | ϒ | Ý | Ý | ý | ý | ☻ | ☻ |
| ∄ | ∄ | № | № | ↔ | ↔ | ⇔ | ⇔ | ♂ | ♂ | ϖ | ϖ | Ÿ | Ÿ | ÿ | ÿ | █ | █ |