tag:blogger.com,1999:blog-79699013764694168362009-05-14T16:42:11.556+08:00youcandown.comyes,youcandown!millkennoreply@blogger.comBlogger48125tag:blogger.com,1999:blog-7969901376469416836.post-87344864676191856742009-05-14T09:54:00.000+08:002009-05-14T09:55:20.955+08:00CACert:免费的数字证书组织<p>众所周知,在中国想给自己申请一份电子邮件证书或者给自己的网站、服务器申请一个SSL证书是很不容易的,你每年都得给CA(证书颁发验证组织)缴纳不少的证书申请费。每个网民都能拿到数字证书那是可望不可即的……<br />但是现在不同了,我们有了CAcert。国外一个免费的数字证书颁发组织,你可以免费注册成为用户,申领个人证书和服务器证书等。证书被各种浏览器、邮件客户端所支持。</p> <p><span style="font-weight: bold;" mce_style="font-weight: bold">就像他们主页所宣传的那样:</span><br />我们已经等了很久,但是我们没有白等,我们终于可以以合理的价格得到安全了--免费的!<br />多少年来,各安全认证机构都要向我们收取大量金钱。他们所作的根本不值这个价钱,我们没有必要为安全花这么多钱。<br />网站提供简体中文版本(在网站右侧的“翻译”菜单下选择),虽然汉化的不是很完全。但是主要的内容基本上都可以理解。</p> <p>申 请证书的步骤很简单,首先你需要访问CAcert.org,在右侧选择安装根证书,下载完毕根证书导入到你的浏览器或邮件客户端等需要使用证书的软件中。 然后点击加入,写一张注册表。稍后你填写的邮箱将会收到验证邮件,验证完毕就可以去他们的主页登陆了(我的帐号 - Password Login)。登陆成功你就可以申请免费的数字证书了,注册完毕后请别忘了备份。</p> <p>虽然该组织颁发的证书目前来说不是很权威,但是起码给了大家一个选择。相信不久的将来免费的证书会被大众认可……</p> <p><span style="font-weight: bold;" mce_style="font-weight: bold">访问:</span><a href="http://www.cacert.org/" mce_href="http://www.cacert.org/" target="_blank">http://www.cacert.org/</a></p><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8734486467619185674?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-83657163803111231592009-05-07T18:16:00.000+08:002009-05-07T18:18:21.286+08:00PHP版PING函数,可用来检测对方主机是否在线<div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 95%;">function ping($host) {<br /> $package = "\x08\x00\x19\x2f\x00\x00\x00\x00\x70\x69\x6e\x67";<br /><br /> /* create the socket, the last '1' denotes ICMP */ <br /> $socket = socket_create(AF_INET, SOCK_RAW, 1);<br /> /* set socket receive timeout to 1 second */<br /> socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 0, "usec" => 1000));<br /><br /> /* connect to socket */<br /> socket_connect($socket, $host, null);<br /><br /> /* record start time */<br /> $start_time = microtime(true);<br /> socket_send($socket, $package, strlen($package), 0);<br /><br /> if(@socket_read($socket, 255)) {<br /> $end_time = microtime(true);<br /> $total_time = $end_time - $start_time;<br /> return $total_time;<br /> } else {<br /> return false;<br /> }<br /><br /> socket_close($socket);<br />}</div><pre><span style="font-family:Fixedsys;"><span style="color:#800000;"></span><br /></span><br /></pre><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8365716380311123159?l=google.youcandown.com'/></div>millkennoreply@blogger.com1tag:blogger.com,1999:blog-7969901376469416836.post-78571336280856717282009-04-24T10:07:00.000+08:002009-04-24T10:08:06.481+08:00Linux SVN的安装使用笔记<p>SVN简介、下载、安装</p> <div class="content" id="BodyLabel" style="padding: 0px 10px; display: block;">SVN简介<br /><br />The goal of the Subversion project is to build a version control system that is a compelling replacement for CVS in the open source community. The software is released under an Apache/BSD-style open source license.<br /><br />SVN是一个版本控制软件,类似CVS,但是SVN的的有点是开源的,而且SVN的版本控制能力给CVS还要强多。<br /><br />SVN可以用于项目管理,还可以用于版本同步,功能可是十分强呢:)<br /><br />下载:<span style="color:#22229c;">http://subversion.tigris.org</span><br /><br />当前日期稳定版SVN1.32http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz<br /><br />安装:<br /><br />解压:#: tar zxvf subversion-1.3.2.tar.gz<br /><br />依次输入./configure , make , make install 进行编译安装完成。<br /><br />开启SVN服务:svnserve -d<br /><br />检测服务是否开启:netstat -ntlp如果看到3690的端口正常开放了,证明SVN启动了。 <div id="content">正式使用:<br />首先我们得建立一个SVN的项目,一般人都认为建立项目就只需要一个文件,在我第一次使用SVN之前都有这样的看法,SVN建立项目需要建立文件夹<br /><br />建立项目命令:svnadmin create project_name project_name 为你的project名字,可以任意取。<br />建 立完毕后,project_name是一个文件夹,进入文件夹,可以看到一个conf的文件夹。进入文件夹可以看到2个文件(如果没有passwd文件, 可以用vi创建),编辑 svnserve.conf 把anon-access = read ,auth_access = write<br />还有password-db = passwd 的注释去掉,还有[general]的注释也要去掉。<br />vi passwd文件,如果是新文件,则输入:<br />[user]<br />your_name = your_password<br />这里设置的your_name是你的用户名,your_password是你的密码,这个是访问SVN必要的通行证。<br /><br /><br />好了,现在终于把准备功夫做完了,下面可以正是使用了。<br />首先找到你的项目源代码文件夹,使用下面命令:<br />cd your project<br />in your project dircetory<br />use:svn co /home/project_name --username = your_name --password=your_password<br /><br />好了,现在你可以在客户机上使用以下命令获得你想要的项目源代码文件<br />svn co svn://home/project_name --username=your_name --password = your_password<br /><br />把增加的svn文件添加入svn库:<br />svn add /home/your_project/*.* --username=your_name --password = your_password<br /><br />提交文件:<br />svn commit /home/your_project/*.* --username=your_name --password=your_password<br /><br />更新文件:svn update /home/your_project/*.* --username=your_name --password=your_password<br /><br />当然你可以编辑一个脚本文件来一次完成所有的操作:<br />vi svnupdate.sh<br /><br />#!/bin/sh<br />svn add /home/your_project/*.* --username=your_name --password = your_password<br />svn commit /home/your_project/*.* --username=your_name --password=your_password<br />svn update /home/your_project/*.* --username=your_name --password=your_password<br /><br />chmod +x svnupdate.sh<br /><br />Finish</div> </div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-7857133628085671728?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-75412694841725029562009-01-14T09:09:00.001+08:002009-01-14T09:18:08.840+08:00GOOGLE的FTP连接到 uploads.google.com, 端口 21 (#1) <br />解析主机为: 72.14.243.49<br />已连接. 正等待响应. <br />220 FTP server ready.<br />USER millken<br />331 Password required for millken.<br />PASS xxxxxx<br />230 User millken logged in. Access restrictions apply.<br />SYST<br />215 UNIX Type: L8<br />PWD<br />257 "/" is current directory.<br />TYPE A<br />200 Type set to A.<br />PORT 10,87,1,181,5,24<br />200 PORT command successful.<br />LIST -al<br />150 Opening ASCII mode data connection for directory listing.<br />226 Transfer complete.<br />传输完成: 121 字节 共 0.016 秒 ( 7.56 KB/s)<br /><br /><br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-7541269484172502956?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-48345983774659231332009-01-06T13:21:00.001+08:002009-01-09T13:34:36.516+08:00LINUX下的数据库备份 一般重要的数据库或数据表都需要及时备份,光备份到自身所在服务器是不行的,如果服务器一旦崩溃,拿不到备份文件也是竹篮打水一场空。所以在备份到本地服务器的同时,还应备份到其他的备用服务器里。<br /><br /> 于是新建一个whmysqlbackup.sh ,内容为:<br /><br /><div style="-moz-background-clip: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-background-origin: -moz-initial; background: rgb(230, 230, 230) none repeat scroll 0% 0%; border: 0.5pt solid windowtext; padding: 4px 5.4pt; width: 95%;">#################Script Start###################<br />#Tish script backup the mysqldatebase<br />#!/bin/bash<br />Backupfile=WHDB-$(date +%m-%d-%y-%H)<br />archive=${1:-$Backupfile}<br />tar cvf - /var/lib/mysql/wh/wh_sku.* > /var/www/html/DBbackup/$archive.tar<br />cd /var/www/html/DBbackup<br />gzip $archive.tar<br />echo "Directory $PWD backed up in archive file \"$archive.tar.gz\"."<br /><br />scp $archive.tar.gz root@172.16.1.6:/whdb/<br /><br />##################Script end######################<br /><br /></div>该段脚本表明备份数据库wh里的wh_sku这个表打包压缩到/var/www/html/Dbbackup里,同时上传到172.16.1.6这个服务器。<br /><br />脚本写好后,可用sh whmysqlbackup.sh命令测试该脚本,若无误,会同时在两个服务器里出现备份包。<br /><br />后面的就是用调用计划任务功能来完成每天备份:<br />crontab -e<br />加入 <br />59 23 * * * sh /root/whmysqlbackup.sh<br />表示每天23:59执行一次脚本<br />保存重启服务<br />service crond restart<br /><br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-4834598377465923133?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-48722912035588217982008-12-04T11:45:00.000+08:002008-12-04T11:46:37.599+08:00暴风影音2009作为对 Windows Media Player 的补充和完善,暴风影音提供和升级了系统对流行的影音文件和流的支持,包括Real、QuickTime、MPEG-2、MPEG-4(DivX/XviD/3ivx、MP4、AVC/H264...)、AC3/DTS、ratDVD、VP3/6/7、Indeo、XVD、Theora、OGG/OGM、Matroska、APE、FLAC、TTA、AAC、MPC、Voxware、3GP/AMR、TTL2、字幕等。配合最新版本的 Windows Media Player 可完成大多数流行影音文件、流媒体、影碟等的播放而无需其他专用软件<br />-支持格式多达355种<br />-暴风提速超过50%<br />-新增40余项功能<br />-支持最新Vista操作系统<br /><a href="http://dl.baofeng.com/storm3/storm2008-beta3.exe" target="_blank">http://dl.baofeng.com/storm3/storm2008-beta3.exe</a><br /><a href="http://dl.baofeng.com/storm3/Storm2009.exe" target="_blank">http://dl.baofeng.com/storm3/Storm2009.exe</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-4872291203558821798?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-22916866569522424102008-12-04T11:39:00.000+08:002008-12-04T11:41:49.276+08:00搜狗五笔输入法1.3版上线了!<h1><span style="color: red; font-weight: bold;">搜狗五笔输入法1.3版上线了!</span></h1><div class="postcontent" id="flB0"> 搜狗五笔输入法1.3正式版上线了!这是搜狗五笔输入法诞生以来的第三个更新版本。<br /><span style="color: red; font-weight: bold;"></span><br /><br />搜狗五笔输入法v1.3更新内容:<br /><br />新增功能:<br />1.<span style="color: red;">新增细胞词库支持</span>,同时增加属性设置-细胞词库标签页。现在搜狗五笔输入法可以直接使用线上九千多份细胞词库。<br />2.<span style="color: red;">打字速度统计增加曲线图显示方式</span>。在输入统计中以曲线图形式显示最近半个月的每天最高打字速度。<br />3.<span style="color: red;">TXT批量造词</span>,同时调整属性设置-词库标签页。目前可以在属性设置-词库标签页,以及输入法的鼠标右键菜单上面导入TXT格式的文本词库。<br />4.<span style="color: red;">新增自动造词功能</span>。目前输入法支持自动造双字词,由于词频不同以及防止误造词,需要四到十次输入才会添加至五笔用户词库。<br />5.<span style="color: red;">提供五笔拼音混输模式下的标点符号和下一码顶字上屏功能</span>。<br /><br />功能改进:<br />1.五笔词库部分词条与词频修正;<br />2.五笔词库中删除了名人姓名之外的部分人名。如张艳,小沈,张慧等<br />3.<span style="color: red;">纯五笔模式与五笔拼音混输模式排序规则修改</span>。五笔词条优先排列,全匹配单字优先排列。<br />4.<span style="color: red;">常规-其它中增加选项,Shift+字母输入英文时首字母大写,默认选中</span>;<br />5.<span style="color: red;">临时拼音模式候选项之后显示五笔码</span>;<br />6.<span style="color: red;">改善手工造词功能</span>。支持剪切板造词和最近输入字串造词。<br /><br />我们将根据网友的意见,尽快改进,推出更完善的1.4版,敬请期待!<br />最后,感谢大家的使用!欢迎在论坛向我们反馈您宝贵的意见!<br /><br />官方网站:<a href="http://wubi.sogou.com/" target="_blank">http://</a><a href="http://wubi.sogou.com/" target="_blank">wubi.sogou.com</a><br />官方下载地址:<a href="http://ime.sogou.com/dl/sogou_wubi_13.exe" target="_blank">http://ime.sogou.com/dl/sogou_wubi_13.exe</a><br />官方论坛:<a href="http://bbs.sogou.com/searchIn.do?query=%CB%D1%B9%B7%CE%E5%B1%CA%CA%E4%C8%EB%B7%A8" target="_blank">http://bbs.sogou.com/searchIn.do?query=%CB%D1%B9%B7%CE%E5%B1%CA%CA%E4%C8%EB%B7%A8</a><br /><br /><br />修补版更新说明:<br />功能改进:<br />1.修改部分词条词序;<br />2.修正了标点符号顶字上屏功能引起的重复输入问题;<br />3.应网友要求修改了搜狗五笔输入法在Windows系统输入法列表中的显示名称,删除"中文"与"(简体)"之间的空格。<br />4.改进了手工造词时词条的五笔编码生成算法。<br /><br />目前已经使用修补版替换线上版本。</div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-2291686656952242410?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-28825075968290548512008-11-28T09:41:00.000+08:002008-11-28T09:44:55.273+08:00CSS属性列表<table align="center" border="1" bordercolor="#eeeeee" cellpadding="0" cellspacing="0"><tbody><tr><td colspan="3" valign="top"><div align="center"><b><span style="color: #3366cc;">CSS属性列表<span style="background-color: orange;"></span></span></b></div></td></tr><tr><td valign="top" width="20%"><span style="color: #cc3399;">属性名称</span></td><td align="left" valign="top" width="20%"><span style="color: #cc3399;">属性含义</span></td><td valign="top" width="60%"><span style="color: #cc3399;">属性值</span></td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">字体属性(Font)</span></td></tr><tr><td valign="top" width="20%">font-family</td><td align="left" valign="top" width="20%">使用什么字体</td><td style="text-align: left;" valign="top" width="60%">所有的字体</td></tr><tr><td valign="top" width="20%">font-style</td><td align="left" valign="top" width="20%">字体是否斜体</td><td valign="top" width="60%">Normal、italic、oblique</td></tr><tr><td valign="top" width="20%">font-variant</td><td align="left" valign="top" width="20%">是否用小体大写</td><td valign="top" width="60%">Normal、small-caps</td></tr><tr><td valign="top" width="20%">font-weight</td><td align="left" valign="top" width="20%">字体的粗细</td><td valign="top" width="60%">Normal、bold、bolder、lithter等</td></tr><tr><td valign="top" width="20%">font-size</td><td align="left" valign="top" width="20%">字体的大小</td><td valign="top" width="60%">Absolute-size、relative-size、length、percentage等</td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">颜色和背景属性</span></td></tr><tr><td valign="top" width="20%">Color</td><td align="left" valign="top" width="20%">定义前景色</td><td valign="top" width="60%">颜色</td></tr><tr><td valign="top" width="20%">Background-color</td><td align="left" valign="top" width="20%">定义背景色</td><td valign="top" width="60%">颜色</td></tr><tr><td valign="top" width="20%">Background-image</td><td align="left" height="20" valign="top" width="20%">定义背景图案</td><td valign="top" width="60%">路径</td></tr><tr><td valign="top" width="20%">Background-repeat</td><td align="left" valign="top" width="20%">重复方式</td><td valign="top" width="60%">Repeat-x、repeat-y、no-repeat</td></tr><tr><td valign="top" width="20%">Background-attachment</td><td align="left" valign="top" width="20%">设置滚动</td><td valign="top" width="60%">Scroll、Fixed</td></tr><tr><td valign="top" width="20%">Background-position</td><td align="left" valign="top" width="20%">初始位置</td><td valign="top" width="60%">Percentage、length、top、left、<br />right、bottom等</td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">文本属性</span></td></tr><tr><td valign="top" width="20%">Word-spacing</td><td align="left" valign="top" width="20%">单词之间的间距</td><td valign="top" width="60%">Normal<length></length></td></tr><tr><td valign="top" width="20%">Letter-spacing</td><td align="left" valign="top" width="20%">字母之间的间距</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Text-decoration</td><td align="left" valign="top" width="20%">文字的装饰样式</td><td valign="top" width="60%">None|underline|overline|line-<br />through|blink</td></tr><tr><td valign="top" width="20%">Vertical-align</td><td align="left" valign="top" width="20%">垂直方向的位置</td><td valign="top" width="60%">Baseline|sub|super|top|text-top|middle|bottom|text-bottom|</td></tr><tr><td valign="top" width="20%">Text-transform</td><td align="left" valign="top" width="20%">文本转换</td><td valign="top" width="60%">Capitalize|uppercase|<br />lowercase|none</td></tr><tr><td valign="top" width="20%">Text-align</td><td align="left" valign="top" width="20%">对齐方式</td><td valign="top" width="60%">Left|right|center|justify<br /><length>|<percentage></percentage></length></td></tr><tr><td valign="top" width="20%">Text-indent</td><td align="left" valign="top" width="20%">首行的缩进方式</td><td valign="top" width="60%">Normal|<number>|<length>|</length></number></td></tr><tr><td valign="top" width="20%">Line-height</td><td align="left" valign="top" width="20%">文本的行高</td><td valign="top" width="60%"><percentage></percentage></td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">边距属性</span></td></tr><tr><td valign="top" width="20%">Margin-top</td><td align="left" valign="top" width="20%">顶端边距</td><td valign="top" width="60%">Length|percentage|auto</td></tr><tr><td valign="top" width="20%">Margin-right</td><td align="left" valign="top" width="20%">右侧边距</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Margin-bottom</td><td align="left" valign="top" width="20%">底端边距</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Margin-left</td><td align="left" valign="top" width="20%">左侧边距</td><td valign="top" width="60%">同上</td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">填充距属性</span></td></tr><tr><td valign="top" width="20%">Padding-top</td><td align="left" valign="top" width="20%">顶端填充距</td><td valign="top" width="60%">Length|percentage</td></tr><tr><td valign="top" width="20%">Padding-right</td><td align="left" valign="top" width="20%">右侧填充距</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Padding-bottom</td><td align="left" valign="top" width="20%">底端填充距</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Padding-left</td><td align="left" valign="top" width="20%">左侧填充距</td><td valign="top" width="60%">同上</td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">边框属性</span></td></tr><tr><td valign="top" width="20%">Border-top-width</td><td align="left" valign="top" width="20%">顶端边框宽度</td><td valign="top" width="60%">Thin|medium|thick|length</td></tr><tr><td valign="top" width="20%">Border-right-width</td><td align="left" valign="top" width="20%">右侧边框宽度</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Border-bottom-width</td><td align="left" valign="top" width="20%">底端边框宽度</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Border-left-width</td><td align="left" valign="top" width="20%">左侧边框宽度</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Border-width</td><td align="left" valign="top" width="20%">一次定义宽度</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Border-color</td><td align="left" valign="top" width="20%">设置边框颜色</td><td valign="top" width="60%">Color</td></tr><tr><td valign="top" width="20%">Border-style</td><td align="left" valign="top" width="20%">设置边框样式</td><td valign="top" width="60%">None|dotted|dash|solid等</td></tr><tr><td valign="top" width="20%">Border-top</td><td align="left" valign="top" width="20%">一次定义顶端</td><td valign="top" width="60%">Border-top-width|color等</td></tr><tr><td valign="top" width="20%">Border-right</td><td align="left" valign="top" width="20%">一次定义右侧</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Border-bottom</td><td align="left" valign="top" width="20%">一次定义底端</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Border-left</td><td align="left" valign="top" width="20%">一次定义左侧</td><td valign="top" width="60%">同上</td></tr><tr><td valign="top" width="20%">Width</td><td align="left" valign="top" width="20%">定义宽度属性</td><td valign="top" width="60%">Length|percentage|auto</td></tr><tr><td valign="top" width="20%">Height</td><td align="left" valign="top" width="20%">定义高度属性</td><td valign="top" width="60%">Length|auto</td></tr><tr><td valign="top" width="20%">Float</td><td align="left" valign="top" width="20%">文字环绕</td><td valign="top" width="60%">Left|right|none</td></tr><tr><td valign="top" width="20%">Clear</td><td align="left" valign="top" width="20%">哪一边环绕</td><td valign="top" width="60%">Left|right|none|both</td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">分级属性</span></td></tr><tr><td valign="top" width="20%">Display</td><td align="left" valign="top" width="20%">定义是否显示</td><td valign="top" width="60%">Block、inline、list-item、none</td></tr><tr><td valign="top" width="20%">White-space</td><td align="left" valign="top" width="20%">怎样处理空白</td><td valign="top" width="60%">Normal、pre、nowrap</td></tr><tr><td valign="top" width="20%">List-style-type</td><td align="left" valign="top" width="20%">加项目编号</td><td valign="top" width="60%">Disc、circle、square等</td></tr><tr><td valign="top" width="20%">List-style-image</td><td align="left" valign="top" width="20%">加图案</td><td valign="top" width="60%"><url>|none</url></td></tr><tr><td valign="top" width="20%">List-style-position</td><td align="left" valign="top" width="20%">第二行起始位置</td><td valign="top" width="60%">Inside、outside</td></tr><tr><td valign="top" width="20%">List-style</td><td align="left" valign="top" width="20%">一次定义列表</td><td valign="top" width="60%"><keyword>|<position>|<url></url></position></keyword></td></tr><tr><td colspan="3" valign="top"><span style="color: #336633;">鼠标(Cursor)属性</span></td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">自动</td><td valign="top" width="60%">Auto</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">定位“十”字</td><td valign="top" width="60%">Crosshair</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">默认指针</td><td valign="top" width="60%">Default</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">手形</td><td valign="top" width="60%">Hand</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">移动</td><td valign="top" width="60%">Move</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝右方</td><td valign="top" width="60%">e-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝右上方</td><td valign="top" width="60%">Ne-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝左上方</td><td valign="top" width="60%">Nw-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝上方</td><td valign="top" width="60%">n-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝右下方</td><td valign="top" width="60%">Se-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝左下方</td><td valign="top" width="60%">Sw-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝下方</td><td valign="top" width="60%">s-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">箭头朝左方</td><td valign="top" width="60%">w-resize</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">文本“I”形</td><td valign="top" width="60%">Text</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">等待</td><td valign="top" width="60%">Wait</td></tr><tr><td valign="top" width="20%"></td><td align="left" valign="top" width="20%">帮助</td><td valign="top" width="60%">Help</td></tr></tbody></table><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-2882507596829054851?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-86877413363159971662008-11-28T09:39:00.000+08:002008-11-28T09:40:32.780+08:00IE & Firefox 添加代理脚本的方法用 <a href="http://www.pkblogs.com/blogname" onclick="javascript:urchinTracker('/outbound/article/www.pkblogs.com');" target="_blank">http://www.pkblogs.com/blogname</a> 的方法显示出来的blogspot最上面的导航栏MS有点问题。<br />用修改windows/system32/etc/hosts的方法令人痛不欲生。<br />下面这个设置代理的办法倒是可以一劳永逸,一次搞定!<br />建一个文本文件,后缀名为pac(例如我保存为proxy.pac,C:\),内容如下:<br /><div style="-moz-background-clip: -moz-initial; -moz-background-inline-policy: -moz-initial; -moz-background-origin: -moz-initial; background: rgb(230, 230, 230) none repeat scroll 0% 0%; border: 0.5pt solid windowtext; padding: 4px 5.4pt; width: 95%;">function FindProxyForURL(url,host) {<br />if(dnsDomainIs(host, ".blogspot.com")) {<br />return "PROXY 72.14.219.190:80";<br />}<br />}</div>保存,最好让路径短一点。<br />下面分别说ie和firefox的设置方法:<br />IE:在菜单栏上选择 工具-Internet选项-连接,里面有一个设置按钮,是用来设置代理服务器的,点开。在“使用自动配置脚本”前面打钩,然后在激活的文本框里输入上面保存的脚本的路径(上例中为c:\proxy.pac)。确定。<br />firefox:依次点击工具-选项-高级-网络-设置,选中自动代理配置URL,添加:<a href="file:///C:/proxy.pac" onclick="javascript:urchinTracker('/outbound/article/');">file:///C:/proxy.pac</a> ,点击重新载入。<br />搞定了!!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8687741336315997166?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-74721201603484516172008-11-25T20:45:00.001+08:002008-11-25T20:47:30.150+08:00EditPlus开发Python<span style="font-size: small;"><b>本</b>文转载:</span><br /><span style="font-size: small;"><br /></span><br /><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">Python有很多集成开发工具,商业的有komodo,Wingide,Boa等,还有Python自带的集成环境IDLE,windows下还有Pythonwin等。本文利用一个很流行的功能也非常强大的文本编辑软件Editplus,改造成一个能够很好的支持Python编辑,浏览,运行及调试的开发环境,并且具备语法加亮,自动完成,自动缩进,新建python文件模板等功能支持。</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><table align="center" border="1" bordercolor="#dddddd" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 360px;"> <tbody><tr height="60"> <td align="middle" width="60"><span style="font-size: small;"><img border="0" src="http://control.cublog.cn/fileicon/rar.gif" /></span></td> <td><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"> <tbody><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">文件:</span></td> <td><span style="font-size: small;">epp211.rar</span></td> </tr><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">大小:</span></td> <td><span style="font-size: small;">870KB</span></td> </tr><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">下载:</span></td> <td><span style="font-size: small;"><a href="http://www.cublog.cn/u/8780/upfile/060905175624.rar">下载</a></span></td> </tr></tbody> </table></td> </tr></tbody></table></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-align: justify; text-indent: -18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">1.要使Editplus能够运行python程序,首先打开tools->Preferences对话框,在User tools里新建一个group,名字叫python,在python group里新建一个工具也起名为python,分别在Menu text:填入python,在Command:填入python的安装路径,Argument:填入$(FileName),Initial Directory:填入$(FileDir)。完成这一步的结果如下图(1):</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><div align="center"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"><img border="0" src="http://www.cublog.cn/u/8780/upfile/060905175319.jpg" width="500" /></span></div><br /><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;"><span style="font-size: small;"><shapetype coordsize="21600,21600" filled="f" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"><stroke joinstyle="miter"></stroke></shapetype></span></div><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">(图1)</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> 这样在Editplus里打开一个python文件,在tools菜单下就会有一个python选项,直接单击就可以运行python程序了,也可以利用快捷键(Ctrl+1),根据设置用户工具的个数,这个快捷键可能有所不同。如下图(2):</span><br /><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><div align="center"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"><img border="0" src="http://www.cublog.cn/u/8780/upfile/060905175706.jpg" width="500" /></span></div><br /><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">(图2)</span></div><span style="font-size: small;"><br /></span><br /><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> 在此处实现下面的一个功能:就是当程序出错的时候,python解释器会给出类似如下的提示信息:</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">---------- python ----------</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> File "test.py", line 6</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> print 'a</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> ^</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">SyntaxError: EOL while scanning single-quoted string</span></div><span style="font-size: small;"><br /></span><br /><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">Output completed (1 sec consumed) - Normal Termination</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> 此时,可以根据提示的行号到文本中去找错误的地方,而不能够象其他的编译器一样直接双击错误的提示,将光标直接移动到错误行。此时如果直接双击某行,则会出现找不到某文件的错误。此处,可以利用Editplus的Output Pattern的实现这个功能。具体做法如下,在图(1)中的Capture Output选项前的复选框要选上,然后打开Output Pattern按钮,在Output Pattern对话框中,首先取消Use default output pattern选项前的复选框,在Regular expression栏里填入正则表达式如下:</span><br /><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">File "(.+)", line ([0-9]+)</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">File Name栏里选择Tagged expression 1,</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">Line栏里选择Tagged expression 2,</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">Column栏里为None。</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">结果如图(3):</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><div align="center"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"><img border="0" src="http://www.cublog.cn/u/8780/upfile/060905175829.jpg" width="500" /></span></div><br /><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">(图3)</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: verdana,arial,helvetica,sans-serif;">然后直接双击错误提示信息行</span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> File "test.py", line 6</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span style="font-size: small;"><span style="font-family: verdana,arial,helvetica,sans-serif;">光标就会直接跳到第六行,非常的方便,尤其是当多个文件互相调用的时候,这种方法可以方便打开文件找到错误的位置。</span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt 18pt; text-align: justify; text-indent: -18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">2.为了实现语法加亮和自动完成功能,必须下载两个文件,下载地址为</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 18pt;"><span style="font-size: small;"><a href="http://www.editplus.com/files/pythonfiles.zip"><span style="color: purple; font-family: verdana,arial,helvetica,sans-serif;">http://www.editplus.com/files/pythonfiles.zip</span></a></span><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"> ,</span><br /><table align="center" border="1" bordercolor="#dddddd" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 360px;"> <tbody><tr height="60"> <td align="middle" width="60"><span style="font-size: small;"><img border="0" src="http://control.cublog.cn/fileicon/zip.gif" /></span></td> <td><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"> <tbody><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">文件:</span></td> <td><span style="font-size: small;">pythonfiles.zip</span></td> </tr><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">大小:</span></td> <td><span style="font-size: small;">17KB</span></td> </tr><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">下载:</span></td> <td><span style="font-size: small;"><a href="http://www.cublog.cn/u/8780/upfile/060905180149.zip">下载</a></span></td> </tr></tbody> </table></td> </tr></tbody></table><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">解压到editplus的安装目录下。压缩包有三个文件,此处我们用到两个,python.acp文件和python_extd.stx文件。Acp文件是自动完成文件,stx文件是语法加亮文件。加载方法如下:</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">tools->preferences->Setting & syntax下,首先新建一个文件类型,命名为python,扩展名(file extensions)栏里填入py。在syntax file栏里找到刚才下载的python_extd.stx文件,在Auto completion栏里找到python.acp文件,在Function Pattern栏里填入:</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">[ \t]*def[ \t].+:</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">这样就可以通过Ctrl+F11快捷键直接显示出python文件中的函数列表。设置完成如下图(4):</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><div align="center"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"><img border="0" src="http://www.cublog.cn/u/8780/upfile/060905175942.jpg" width="500" /></span></div><br /><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">(图4)</span></div><span style="font-size: small;"><br /></span><br /><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">这时打开一个python文件,就可以看到有语法加亮了。</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">让editplus自动识别冒号然后直接缩进,并且如何修改缩进的长度:在图(4)中,可以看到一个Tab/Indent标签,打开他可以看到Tab,Indent的选项,分别填入自己习惯的距离。并且选中Insert spaces instead of tab和Enable auto indent。然后在Auto Indent open里填入一个冒号“:”。完成设置以后如下图(5):</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><div align="center"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"><img border="0" src="http://www.cublog.cn/u/8780/upfile/060905180042.jpg" width="500" /></span></div><br /><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center; text-indent: 18pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">(图5)</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 18pt;"><span style="font-size: small;"><span style="font-family: verdana,arial,helvetica,sans-serif;">其他的设置也可以根据类似的设置进行。</span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">3.还有一点很方便的是,可以通过建立一个python文件的模板,来快速新建一个python文件。首先建立一个名为template.py的文件,内容自定,这里假设如下:</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: verdana,arial,helvetica,sans-serif;">―――――――――――――――――――――</span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">"""</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">Usage:</span></div><span style="font-size: small;"><br /></span><br /><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">"""</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: verdana,arial,helvetica,sans-serif;">―――――――――――――――――――――</span></span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">保存,将template.py文件放到editplus安装目录下。</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-indent: 36pt;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">Tools->preferences->templates</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">打开模板设置对话框,首先添加一个名为python的模板,把file path设置到刚才建立的template.py文件上。配置结果如图(6):</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><div align="center"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"><img border="0" src="http://www.cublog.cn/u/8780/upfile/060905180117.jpg" width="500" /></span></div><br /><div align="center" class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: center;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">图(6)</span></div><div class="MsoNormal" style="margin: 0cm 0cm 0pt; text-align: justify;"><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;">点击load按钮。完成。这样在file->New->下就会有一个python模板,直接可以方便的建立一个python文件。</span></div><span style="font-family: verdana,arial,helvetica,sans-serif; font-size: small;"></span><br /><table align="center" border="1" bordercolor="#dddddd" cellpadding="0" cellspacing="0" style="border-collapse: collapse; width: 360px;"> <tbody><tr height="60"> <td align="middle" width="60"><span style="font-size: small;"><img border="0" src="http://control.cublog.cn/fileicon/pdf.gif" /></span></td> <td><table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;"> <tbody><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">文件:</span></td> <td><span style="font-size: small;">editplus-python.pdf</span></td> </tr><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">大小:</span></td> <td><span style="font-size: small;">193KB</span></td> </tr><tr height="20"> <td align="middle" width="40"><span style="font-size: small;">下载:</span></td> <td><span style="font-size: small;"><a href="http://www.cublog.cn/u/8780/upfile/060905214913.pdf">下载</a></span></td></tr></tbody></table></td></tr></tbody></table><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-7472120160348451617?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-49977522421133022262008-11-17T17:37:00.000+08:002008-11-17T17:38:33.641+08:00万能代码格式化工具SourceFormatX让您敢于面对混乱的代码!-------------------SourceFormatX是什么-------------------SourceFormatX是一个强大的源代码格式化, 缩进, 排版工具。目前可以格式化C/C++、Java、C#、Pascal、ASP、PHP、JSP、VB、VB.NET、VBScript和JavaScript和HTML Components源代码。它还可以将源代码输出为语法高亮显示的HTML或Rtf文件。* 全自动批量格式化、缩进和美化C/C++、Java、Object Pascal (Delphi)、 C#, ASP、PHP、JSP、Visual Basic、VB.NET、VBScript、JavaScript和 HTML Components源代码,并可以自定义代码风格。* 快速方便地将源代码输出为具有语法高亮显示的HTML或Rtf文件。* 嵌入资源管理器,简单易用,多语言界面 (简体中文、繁体中文、英文、 法文和西班牙文)。<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-4997752242113302226?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-37119308869546775552008-11-14T11:54:00.001+08:002008-11-14T11:56:51.984+08:00google照片测试<embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" height="467" flashvars="host=picasaweb.google.com&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fmillken%2Falbumid%2F5044159325192908913%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-3711930886954677555?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-36090741379831771752008-11-14T11:51:00.000+08:002008-11-14T11:53:01.172+08:00百度音乐盒的XML文件http://box.zhangmen.baidu.com/x?op=12&count=1&title=歌曲名$$歌手名$$$$&cs=21<br />如:http://box.zhangmen.baidu.com/x?op=12&count=1&title=你好毒$$张学友$$$$&cs=21<br />返回XML 数据如下 :<br /><span class="pi"></span><<span class="start-tag">result</span>><<span class="start-tag">count</span>>1count><<span class="start-tag">data</span>><<span class="start-tag">encode</span>>http://free.6to23.com/weicett/BvcE2wgHZPwU7Pbq8zY$.wmaencode><<span class="start-tag">decode</span>>张学友-你好毒.wmadecode><<span class="start-tag">type</span>>2type><<span class="start-tag">lrcid</span>>25002lrcid>data>result><br />具体分析为:你好毒的试听地址为:<br />http://free.6to23.com/weicett/BvcE2wgHZPwU7Pbq8zY$.wma<br />当然这是编码了的地址,解码后为:<br />http://free.6to23.com/weicett/张学友-你好毒.wma<br />LRC地址为<<span class="start-tag">lrcid</span>>25002lrcid>:<br />http://box.zhangmen.baidu.com/bdlrc/250/25002.lrc<br /><type>表示试听格式<br /><br />同时获取多个歌曲的XML数据:<br />http://box.zhangmen.baidu.com/x?op=12&count=3&title=蝴蝶泉边$$黄雅莉$$$$;;千里之外$$周杰伦$$$$;;落叶归根$$王力宏$$$$</type><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-3609074137983177175?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-78142566975802210692008-11-06T12:04:00.000+08:002008-11-06T13:46:39.767+08:00PHP莫尔斯的编码/解码函数是通訊時使用的一種信號代碼, 常在電影軍事片上看到.<br />摩斯碼的轉換規則可以看: <a href="http://zh.wikipedia.org/wiki/%E6%91%A9%E5%B0%94%E6%96%AF%E7%94%B5%E7%A0%81" target="_blank" title="摩爾斯電碼">摩爾斯電碼</a><span style="color: #0b5394;"></span><br /><span style="color: #0b5394;"><span style="color: black;"><span style="color: #ff8000;"><br /></span></span></span><br /><span style="color: black;"><span style="color: #ff8000;">/** <br /> * Morse code encode/decode <br /> * <br /> * Powerby: Mgccl's <br /> * Doc: http://en.wikipedia.org/wiki/Morse_code <br /> * Source code: http://mgccl.com/2007/01/24/morse-code-in-php/ <br /> */ <br /></span><span style="color: #007700;">function </span><span style="color: #0000bb;">morse_encode</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$string</span><span style="color: #007700;">) <br />{ <br /> </span><span style="color: #0000bb;">$strlength </span><span style="color: #007700;">= </span><span style="color: #0000bb;">strlen</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$string</span><span style="color: #007700;">); <br /> </span><span style="color: #0000bb;">$string </span><span style="color: #007700;">= </span><span style="color: #0000bb;">strtoupper</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$string</span><span style="color: #007700;">); <br /> </span><span style="color: #0000bb;">$i </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$search </span><span style="color: #007700;">= array( <br /> </span><span style="color: #dd0000;">' '</span><span style="color: #007700;">,</span><span style="color: #dd0000;">'A'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'B'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'C'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'D'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'E'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'F'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'G'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'H'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'I'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'J'</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'K'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'L'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'M'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'N'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'O'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'P'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'Q'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'R'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'S'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'T'</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'U'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'V'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'W'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'X'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'Y'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'Z'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'0'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'1'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'2'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'3'</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'4'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'5'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'6'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'7'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'8'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'9'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'.'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">','</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'?'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'\''</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'!'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'/'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'('</span><span style="color: #007700;">, </span><span style="color: #dd0000;">')'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'&'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">':'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">';'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'='</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'-'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'_'</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'"'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'$'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'@' <br /> </span><span style="color: #007700;">); <br /><br /> </span><span style="color: #0000bb;">$replace </span><span style="color: #007700;">= array( <br /> </span><span style="color: #dd0000;">' '</span><span style="color: #007700;">,</span><span style="color: #dd0000;">'·* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*··· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*·*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*·· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'··*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'**· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'···· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·*** '</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'*·* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·*·· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·**· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'**·* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'··· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'* '</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'··* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'···* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*··* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*·** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'**·· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'***** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·**** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'··*** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'···** '</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'····* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'····· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*···· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'**··· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'***·· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'****· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·*·*·* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'**··** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'··**·· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·****· '</span><span style="color: #007700;">, <br /> </span><span style="color: #dd0000;">'*·*·** '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*··*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*·**· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*·**·* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·*···* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'***··· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*·*·*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*···* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'*····* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'··** ·* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·*··*· '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'···*··* '</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'·**·*· ' <br /> </span><span style="color: #007700;">); <br /><br /> </span><span style="color: #0000bb;">$string </span><span style="color: #007700;">= </span><span style="color: #0000bb;">str_replace</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$search</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$replace</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$string</span><span style="color: #007700;">); <br /> </span><span style="color: #0000bb;">$string </span><span style="color: #007700;">= </span><span style="color: #0000bb;">str_replace</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'*'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'-'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$string</span><span style="color: #007700;">); <br /> </span><span style="color: #0000bb;">$string </span><span style="color: #007700;">= </span><span style="color: #0000bb;">str_replace</span><span style="color: #007700;">(</span><span style="color: #dd0000;">'·'</span><span style="color: #007700;">, </span><span style="color: #dd0000;">'.'</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$string</span><span style="color: #007700;">); <br /><br /> return </span><span style="color: #0000bb;">$string</span><span style="color: #007700;">; <br />} <br /><br />function </span><span style="color: #0000bb;">morse_decode</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$string</span><span style="color: #007700;">) <br />{ <br /> </span><span style="color: #0000bb;">$string </span><span style="color: #007700;">.= </span><span style="color: #dd0000;">' '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'0'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'----- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'1'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.---- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'2'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'..--- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'3'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'...-- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'-'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-....- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'4'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'....- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'5'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'..... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'6'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'7'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'--... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'8'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'---.. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'\''</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.----. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'9'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'----. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'B'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">';'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.-.-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'@'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.--.-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'C'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'"'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.-..-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'/'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-..-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'F'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'..-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'('</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.--. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'P'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.--. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'G'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'--. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'H'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'J'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.--- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">')'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.--.- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'Q'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'--.- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'.'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.-.-.- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'K'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'L'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.-.. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'?'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'..--.. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'Z'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'--.. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'D'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">':'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'---... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'S'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'I'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'O'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'--- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'!'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.-.-- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'Y'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.-- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">','</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'--..-- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'&'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'. ... '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'_'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'..-- .- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'M'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'&'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.-...- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'R'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'N'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'='</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-...- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'V'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'...- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'$'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'...-..- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'X'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-..- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'U'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'..- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'A'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'T'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'W'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'.-- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">')'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'-.--.- '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">'E'</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">'. '</span><span style="color: #007700;">; <br /> </span><span style="color: #0000bb;">$array</span><span style="color: #007700;">[</span><span style="color: #dd0000;">' '</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">' '</span><span style="color: #007700;">; <br /><br /> foreach (</span><span style="color: #0000bb;">$array </span><span style="color: #007700;">as </span><span style="color: #0000bb;">$key </span><span style="color: #007700;">=> </span><span style="color: #0000bb;">$var</span><span style="color: #007700;">) { <br /> </span><span style="color: #0000bb;">$string </span><span style="color: #007700;">= </span><span style="color: #0000bb;">str_replace</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$var</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$key</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$string</span><span style="color: #007700;">); <br /> } <br /><br /> return </span><span style="color: #0000bb;">$string</span><span style="color: #007700;">; <br />} <br /><br /></span><span style="color: #ff8000;">// Test <br />// echo morse_encode('this is a book'); // - .... .. ... .. ... .- -... --- --- -.- <br />// echo morse_decode(morse_encode('this is a book')); // THIS IS A BOOK <br /></span><span style="color: #0000bb;">?> </span></span><br /><span style="color: black;"><span style="color: #0000bb;"><br /></span> </span><br /><span style="color: black;"><span style="color: #0000bb;"><br /></span> </span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-7814256697580221069?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-89045358893002425172008-10-30T17:30:00.000+08:002008-10-30T17:42:14.634+08:00多个域名通过一个公网IP绑定到多个内网IP如:现在有两个域名:a.com,b.com,都绑定到同一个公网IP:111.111.111.111,公网IP映射到内网中的192.168.1.2,1.2这台WEB服务器上运行着APACHE,为了提高安全性和效率,现在想将b.com跑在内网中的1.3上。<br />于是通过APACHE的反向代理实施:<br /><blockquote>1,启用APACHE的代理模块mod_proxy.so和mod_proxy_http.so;<br />2,设置b.com的VHOST,添加一条ProxyPass / http://192.168.1.3/<br />3, restart apache</blockquote><br />注意的是b.com的DocumentRoot要指向到一个空目录<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8904535889300242517?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-11318856625860057172008-10-29T17:15:00.000+08:002008-10-29T17:21:29.047+08:00apache调试程序时解决图片不能显示的小技巧一般我们调试程序时为了方便,不会将主机上的图片下载下来,只是将CGI程序和数据库下载下来即可调试,但是这样调试时绝大部分图片都不能正常显示,于是利用强大的REWRITE功能,很容易即可实现将图片正常显示处来:<br />.htaccess内容:<br />RewriteEngine On<br />RewriteBase /<br />RewriteCond %{THE_REQUEST} \.(jpg|jpeg|png|gif)<br />RewriteRule (.*) http://172.16.1.9/$1 [R]<br /><br />此外为模拟真实的WEB编程环境,个人喜欢用域名绑定localhost来DEBUG。<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-1131885662586005717?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-13291535549958986892008-10-24T15:42:00.000+08:002008-10-24T15:43:31.247+08:00Google App的限制CPU: 199608.00 Gigacycles <br />Data Sent: 2048.00 Megabytes <br />Data Receive: 2048.00 Megabytes <br />Emails Send: 2000.00 Emails <br />Megabytes Store: 500.00 Megabytes <br />Data Send (HTTPS): 2048.00 Megabytes <br />Data Receive (HTTPS): 2048.00 Megabytes<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-1329153554995898689?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-42884279747438609242008-10-09T10:41:00.002+08:002008-10-09T11:07:54.157+08:00FIREFOX下也可以实现用JS控制播放器看到百度、搜狐、雅虎的音乐盒都不能在FF下工作,于是就对网络播放器和LRC歌词实时显示这方面的文章及网站看了下。<br />其中<a href="http://8box.cn">音乐八宝盒</a>播放器和歌词显示都支持FF,于是对它的脚本研究了下,发现它是根据不同的浏览器调用不同的页面和脚本。<br />在IE中是基于mediaplayer控件,在FF中是基于FLASH播放器,LRC歌词的显示都是利用FLASH根据播放器的播放时间来显示的。<br />不过它做了一个播放器的界面,然后利用脚本来控制播放器的方法,对用户的体验来说是个考验。<br /><textarea id="code" rows="10" cols="60"><br /> <object id="WMPlayer" name="WMPlayer" border="0" align="baseline" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" type="application/x-oleobject" width="350" height="68"> <param value="datawindow" name="defaultFrame"> <param name="autoStart" value="true"> <param name="balance" value="0"> <param name="currentPosition" value="0"> <param name="currentMarker" value="0"> <param name="enableContextMenu" value="false"> <param name="enableErrorDialogs" value="false"> <param name="invokeURLs" value="false"> <param name="mute" value="false"> <param name="playCount" value="1"> <param name="rate" value="1"> <param name="volume" value="100"> <embed id="_WMPlayer" name="_WMPlayer" pluginspage="http://www.microsoft.com/windows/windowsmedia/download/" type="application/x-mplayer2" height="68" border="0" align="baseline" width="350" invokeurls="0" defaultframe="datawindow" clicktoplay="0" enablecontextmenu="1" allowscan="1" transparentatstart="0" animationatstart="0" autorewind="0" autostart="1" showcaptioning="0" showgotobar="0" autosize="0" showstatusbar="1" showdisplay="0" showtracker="1" showaudiocontrols="1" showpositioncontrols="0" showcontrols="1"> </embed> </object><br /></textarea><br /><br />上面的代码兼容IE和FF,IE中使用的是WMPlayer,FF中使用的是_WMPlayer,可以通过document.getElementById来控制它们。<br />具体演示代码等我的仿百度音乐盒做出来后就可以看到了。<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-4288427974743860924?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-38876454497098645262008-09-28T17:19:00.002+08:002008-09-29T16:59:46.740+08:00IE6中的固定定位<textarea id="code0" rows="10" cols="65">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
*{margin:0;padding:0}/* quick and dirty reset for demo only - use a proper reset */
html,body{height:100%}
h1,p{margin:0 0 1em 0}
body{text-align:center;}
#outer{
width:600px;
min-height:100%;
margin:auto;
border:1px solid #000;
border-top:none;
border-bottom:none;
position:relative;
text-align:left;
background:#ffffcc;
}
* html #outer{height:100%}/* for ie6 and under who will just get an absolute footer instead */
#base{
position:fixed;
bottom:0;
height:50px;
width:600px;
background:red;
}
p.last{
padding-bottom:60px;/*make final text appear above footer */
}
</style>
<!--[if lte IE 6]>
<style type="text/css">
html{background:url(fake.gif) no-repeat 0 0}/* use a 1px x 1px transparent gif which cures the jitters on the footer when using this expression*/
#base {position: absolute;
top:expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop
+(documentElement.clientHeight-this.clientHeight)
: document.body.scrollTop
+(document.body.clientHeight-this.clientHeight));}
</style>
<![endif]-->
</head>
<body>
<div id="outer">
<h1>
Fix your CSS</h1>
<p>
A small example of using position:fixed in compliant browsers (not IE6 and under)</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p>
scrolltest</p>
<p class="last">
scrolltest</p>
<!-- add more elements to test scrolling-->
<div id="base">
Fixed base to centered element</div>
</div>
</body>
</html>
</textarea>
<input type="button" value="运行代码" onclick="runCode($('code0'))"><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-3887645449709864526?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-72429333985243986062008-09-28T17:07:00.000+08:002008-09-28T17:09:24.605+08:00QQMAIL的迷你播放器<embed flashvars="ini_url=http://cm.cmitsz.com//info/xuyongning/software/music/wangjiniwozuobudao.mp3" height="78" name="qqmailmp3player" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" quality="high" src="http://res.mail.qq.com/zh_CN/htmledition/images/player/QQMailPlayer.swf" swliveconnect="true" type="application/x-shockwave-flash" width="255" wmode="opaque" /><br /><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-7242933398524398606?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-80742569129192914292008-09-28T13:04:00.002+08:002008-09-28T13:12:45.611+08:00微软的5G在线存储空间其网址是<a href="http://stydrive.live.com/">http://skydrive.live.com</a><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/_GgtdbesUUUM/SN8RdORph5I/AAAAAAAAAKc/3I-seiZTUVk/s1600-h/20080928130808046.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/_GgtdbesUUUM/SN8RdORph5I/AAAAAAAAAKc/9VtBeWidWZM/s320-R/20080928130808046.png" /></a></div><br /><br /><br /><br /><br /><br /><br /><br />不过国内的不能访问,用代理也不行,可通过VPN连接访问.<br /><br />免费的VPN软件见我的这篇文章:<br /><a href="http://www.youcandown.com/2008/09/vpnhotspot-shield.html">集成自动搜索和连接的免费的VPN代理软件Hotspot Shield</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8074256912919291429?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-26525673225728011542008-09-28T11:53:00.000+08:002008-09-28T11:59:20.028+08:00集成自动搜索和连接的免费的VPN代理软件Hotspot ShieldHotspot Shield 是一个美国免费自动搜索的VPN代理软件,它使用美国的VPN的IP地址。 <br /><br /><br />唯一的坏处是往网页内注入广告,不过可以用插件来禁止它.<br /><br /><br />Download Hotspot Shiel: <br />http://hotspotshield.com/hotspot-shield-download.php<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-2652567322572801154?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-83667931853744072392008-09-27T12:02:00.000+08:002008-09-27T12:05:34.769+08:00写了个添加DOM节点的函数<code><span style="color: black; font-family: Courier New;"><span style="color: blue; font-family: Courier New;">var</span> newElement<span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span>tag<span style="color: #0000cc; font-family: Courier New;">,</span> props<span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: #0000cc; font-family: Courier New;">{</span> <span style="color: #ff9900; font-family: Courier New;">//added by millken<br /></span><br /> <span style="color: blue; font-family: Courier New;">if</span> <span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: #0000cc; font-family: Courier New;">$</span><span style="color: #0000cc; font-family: Courier New;">.</span>Browse<span style="color: #0000cc; font-family: Courier New;">.</span>isIE<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: #0000cc; font-family: Courier New;">&</span><span style="color: #0000cc; font-family: Courier New;">&</span> props<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> <span style="color: #0000cc; font-family: Courier New;">[</span><span style="color: magenta; font-family: Courier New;">'name'</span><span style="color: #0000cc; font-family: Courier New;">,</span> <span style="color: magenta; font-family: Courier New;">'type'</span><span style="color: #0000cc; font-family: Courier New;">,</span> <span style="color: magenta; font-family: Courier New;">'checked'</span><span style="color: #0000cc; font-family: Courier New;">]</span><span style="color: #0000cc; font-family: Courier New;">.</span>each<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span>attribute<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> <span style="color: blue; font-family: Courier New;">if</span> <span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: #0000cc; font-family: Courier New;">!</span>props<span style="color: #0000cc; font-family: Courier New;">[</span>attribute<span style="color: #0000cc; font-family: Courier New;">]</span><span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: blue; font-family: Courier New;">return</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> tag <span style="color: #0000cc; font-family: Courier New;">+</span><span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: magenta; font-family: Courier New;">' '</span> <span style="color: #0000cc; font-family: Courier New;">+</span> attribute <span style="color: #0000cc; font-family: Courier New;">+</span> <span style="color: magenta; font-family: Courier New;">'="'</span> <span style="color: #0000cc; font-family: Courier New;">+</span> props<span style="color: #0000cc; font-family: Courier New;">[</span>attribute<span style="color: #0000cc; font-family: Courier New;">]</span> <span style="color: #0000cc; font-family: Courier New;">+</span> <span style="color: magenta; font-family: Courier New;">'"'</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">if</span> <span style="color: #0000cc; font-family: Courier New;">(</span>attribute <span style="color: #0000cc; font-family: Courier New;">!</span><span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: magenta; font-family: Courier New;">'checked'</span><span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: blue; font-family: Courier New;">delete</span> props<span style="color: #0000cc; font-family: Courier New;">[</span>attribute<span style="color: #0000cc; font-family: Courier New;">]</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> tag <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: magenta; font-family: Courier New;">'<'</span> <span style="color: #0000cc; font-family: Courier New;">+</span> tag <span style="color: #0000cc; font-family: Courier New;">+</span> <span style="color: magenta; font-family: Courier New;">'>'</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><br /> <span style="color: blue; font-family: Courier New;">var</span> element <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: red; font-family: Courier New;">document</span><span style="color: #0000cc; font-family: Courier New;">.</span>createElement<span style="color: #0000cc; font-family: Courier New;">(</span>tag<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">for</span><span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">var</span> p <span style="color: blue; font-family: Courier New;">in</span> props<span style="color: #0000cc; font-family: Courier New;">)</span>element<span style="color: #0000cc; font-family: Courier New;">.</span>setAttribute<span style="color: #0000cc; font-family: Courier New;">(</span>p<span style="color: #0000cc; font-family: Courier New;">,</span> props<span style="color: #0000cc; font-family: Courier New;">[</span>p<span style="color: #0000cc; font-family: Courier New;">]</span><span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> $<span style="color: #0000cc; font-family: Courier New;">.</span>newElement<span style="color: #0000cc; font-family: Courier New;">.</span>insert<span style="color: #0000cc; font-family: Courier New;">.</span>apply<span style="color: #0000cc; font-family: Courier New;">(</span>element<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">return</span> element<span style="color: #0000cc; font-family: Courier New;">;</span><br /><span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">;</span><br />$<span style="color: #0000cc; font-family: Courier New;">.</span>newElement <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: #0000cc; font-family: Courier New;">{</span><br /> insert<span style="color: #0000cc; font-family: Courier New;">:</span> <span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">.</span>bottom <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span>el<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> el<span style="color: #0000cc; font-family: Courier New;">.</span>appendChild<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">return</span> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">.</span>before <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span>el<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> <span style="color: blue; font-family: Courier New;">if</span> <span style="color: #0000cc; font-family: Courier New;">(</span>el<span style="color: #0000cc; font-family: Courier New;">.</span>parentNode<span style="color: #0000cc; font-family: Courier New;">)</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>parentNode<span style="color: #0000cc; font-family: Courier New;">.</span>insertBefore<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">,</span> el<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">return</span> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">.</span>after <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span>el<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> <span style="color: blue; font-family: Courier New;">if</span> <span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: #0000cc; font-family: Courier New;">!</span>el<span style="color: #0000cc; font-family: Courier New;">.</span>parentNode<span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: blue; font-family: Courier New;">return</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">var</span> next <span style="color: #0000cc; font-family: Courier New;">=</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>nextSibling<span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">(</span>next<span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: #0000cc; font-family: Courier New;">?</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>parentNode<span style="color: #0000cc; font-family: Courier New;">.</span>insertBefore<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">,</span> next<span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: #0000cc; font-family: Courier New;">:</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>parentNode<span style="color: #0000cc; font-family: Courier New;">.</span>appendChild<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">return</span> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">.</span>top <span style="color: #0000cc; font-family: Courier New;">=</span> <span style="color: blue; font-family: Courier New;">function</span><span style="color: #0000cc; font-family: Courier New;">(</span>el<span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">{</span><br /> <span style="color: blue; font-family: Courier New;">var</span> first <span style="color: #0000cc; font-family: Courier New;">=</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>firstChild<span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">(</span>first<span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: #0000cc; font-family: Courier New;">?</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>insertBefore<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">,</span> first<span style="color: #0000cc; font-family: Courier New;">)</span> <span style="color: #0000cc; font-family: Courier New;">:</span> el<span style="color: #0000cc; font-family: Courier New;">.</span>appendChild<span style="color: #0000cc; font-family: Courier New;">(</span><span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">)</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: blue; font-family: Courier New;">return</span> <span style="color: blue; font-family: Courier New;">this</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">;</span><br /> <span style="color: #0000cc; font-family: Courier New;">}</span><br /><span style="color: #0000cc; font-family: Courier New;">}</span><span style="color: #0000cc; font-family: Courier New;">;</span></span></code><br /><code><span style="color: black; font-family: Courier New;"><span style="color: #0000cc; font-family: Courier New;">按照mootools的思路写的,操作起来很方便. <br /></span></span></code><br /><code><span style="color: black; font-family: Courier New;"><span style="color: #0000cc; font-family: Courier New;">支持四种方法:</span></span></code><br /><code><span style="color: black; font-family: Courier New;"><span style="color: #0000cc; font-family: Courier New;">实例</span></span></code><br />newElement('input', {'name': 'S_div_css','id':'test'}).bottom($('509'));<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8366793185374407239?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-81201585574619735802008-09-18T11:09:00.000+08:002008-09-18T11:51:45.559+08:00JAVASCRIPT中巧用FLASH来进行复制粘贴复制内容到剪贴板的脚本很多地方都用到了,但是浏览器不兼容导致在一些浏览器中弹出提示在CTRL+C的办法折中进行。不过现在已经有人通过FLASH解决了这个问题,参考 <a href="http://www.jeffothy.com/weblog/clipboard-copy/">Clipboard Copy</a>。<br /><br /><code>function copy(inElement) {<br /> if (inElement.createTextRange) {<br /> var range = inElement.createTextRange();<br /> if (range && BodyLoaded==1)<br /> range.execCommand('Copy');<br /> } else {<br /> var flashcopier = 'flashcopier';<br /> if(!document.getElementById(flashcopier)) {<br /> var divholder = document.createElement('div');<br /> divholder.id = flashcopier;<br /> document.body.appendChild(divholder);<br /> }<br /> document.getElementById(flashcopier).innerHTML = '';<br /> var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(inElement.value)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';<br /> document.getElementById(flashcopier).innerHTML = divinfo;<br /> }<br />}</code><br /><code><br /></code><br /><code>FLASH地址:<br /></code><br /><code>http://www.jeffothy.com/weblog/uploads/clipboard.php <br /></code><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-8120158557461973580?l=google.youcandown.com'/></div>millkennoreply@blogger.com0tag:blogger.com,1999:blog-7969901376469416836.post-52468856780612011402008-09-10T15:34:00.001+08:002008-09-17T16:24:25.217+08:00巨鲸的加密方式[9.17更新]在FLASH内部通过AJAX获取数据,对参数和结果都进行了加密.<br />追踪发现其公式为:<br />string = >xxtea(string,<span style="color: blue;">key</span>) => base64_encode(string)<br /><br />其中xxtea中的<span style="color: blue;">key</span>为 <span style="color: red;">E0FBF8F9E1B2</span> .<br /><br />9.17更新<br />+++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br />刚才发现其实用到了两个KEY <br /><span style="color: red;">E0FBF8F9E1B2</span> <i>和</i> <span style="color: red;">135637EB0E44</span><br />比如查找关键字'a',先在其内部通过加密参数定义默认的链接(含分页)<br />keyword = 'a';<br />pageURL = 'http://cdn.top100.cn/flashremote/SongBO/GetSearch.as?Keyword=\'*\'&Pagesize=oDpgWz8vPpE=&Pagenum=35J4p8HoXTc=';<br />然后根据加密替换得到<br />http://cdn.top100.cn/flashremote/SongBO/GetSearch.as?Keyword=xGtnD8Pxh4s=&Pagesize=oDpgWz8vPpE=&Pagenum=35J4p8HoXTc=<br />最后根据?号后面的参数和KEY:<span style="color: red;">135637EB0E44<span style="color: black;">再次加密转换得到</span></span><br />http://cdn.top100.cn/<span style="color: red;"><span style="color: black;">flashremote/SongBO/GetSearch.as?Keyword=xGtnD8Pxh4s=&Pagesize=oDpgWz8vPpE=&Pagenum=35J4p8HoXTc=&songname=R40w1a0AonDReUe0lDr8zrqLLYpXR7AJXHk7c3HQ/k1pQu/n </span></span><br /><span style="color: red;"><span style="color: black;"><br /></span></span><br /><span style="color: red;"><span style="color: black;">这中间用到两种加密和两周编码方式:</span></span><br /><span style="color: red;"><span style="color: black;">md5+xxtea_encode + encodeURIComponent+base64_encode</span></span><br /><span style="color: red;"><span style="color: black;"><br /></span></span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7969901376469416836-5246885678061201140?l=google.youcandown.com'/></div>millkennoreply@blogger.com0