under java script- 学习笔记
2009-02-18 pm
因为浏览器解析之间差异,在选择兄弟结点时,多数浏览器将元素间的换行符作为了文本结点.这样的情况同样存在于查看元素的子结点时.
使用childNodes查看元素第一层子结点列表.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>test</title>
<style type="text/css">
ul,li{
margin:0;
padding:0;
list-style-type:none;}
body{color:#939;
font-size:23px;
font-family:Arial,"黑体", ;
margin:50px;}
#eventslist
{
float:left;
padding:5px;
border-right:2px solid #333333;
}
#printT{
float:left;border:2px solid red;
margin:10px;
}
</style>
<script type="text/javascript">
function myDOM(){
var DOMstring=”;
if(!document.getElementById || !document.createTextNode){return;}
var demoList=document.getElementById(‘eventslist’);
if(demoList.hasChildNodes())
{
var ch=demoList.childNodes;
for(var i=0;i<ch.length;i++)
{DOMstring+=ch[i].nodeName+’\t’;}
printStr(DOMstring);
}
}
function printStr(str){
var prinDiv=document.createElement(‘div’);
var para=document.createElement(‘p’);
para.appendChild(document.createTextNode(str));
prinDiv.appendChild(para);
prinDiv.id=’printT’;
document.body.appendChild(prinDiv);
}
window.onload=myDOM;
</script>
</head>
<body>
<ul id="eventslist">
<li>list1</li>
<li>list2</li>
<li>list3</li>
<li>list4</li>
</ul>
</body>
</html>
Tips:You can change the code before run.
IE的输出中只有4个元素,FF同样将元素间的换行符作为了文本结点.
所以使用nextSibling,previousSibling并不能准确返回一个元素.
使用closestSibling方法避免这个问题,其中direction 为1时表示下一个兄弟结点,-1表示上一个兄弟结点:
function closestSibling(node,direction){
var tempObj;
if(direction==-1 && node.previousSibling!=null){
tempObj=node.previousSibling;
while(tempObj.nodeType!=1 && tempObj.previousSibling!=null){
tempObj=tempObj.previousSibling;
}
}else if(direction==1 && node.nextSibling!=null){
tempObj=node.nextSibling;
while(tempObj.nodeType!=1 && tempObj.nextSibling!=null){
tempObj=tempObj.nextSibling;
}
}
return tempObj.nodeType==1?tempObj:false;
},
Continue to Read
under 随感
2008-12-31 pm
今天无意翻到了一年前的日记本,断断续续的记录了两年多的时间里发生的故事,最后的一次是07.2.23日.
我记得那是夜里睡不着的时候起来记的几句话.
Continue to Read
under 计算机
2008-12-16 pm
当我们使用windows附带的注册表,组策略等一些常用配置工具对系统进行了适当的配置,能给我们更安全,便捷的使用体验。但是XP Home版本并不带有强大的gpedit.msc。今天在kaka看到家庭版XP也拥有“组策略”。在本机顺利安装后将安装方法分享出来。
其安装方法很简单,部分操作我已写成批处理文件执行,首先解压附件后运行set.bat文件。
之后运行附件中的admFiles_WindowsXPSP2.msi。将安装目录选择c:\windows\inf\(默认c盘为系统根目录)。
点“开始”、“运行”。键入:“mmc”回车。
点“文件”、“添加/删除管理单元”、“添加”。
选择 “组策略对象编辑器”、“添加”、“完成”、“关闭”。
最后点击“文件”将其保存到c:\windows\system32\下,文件名为gpedit.msc。
这样在运行处输入gpedit.msc便能启动组策略了。
这里下载所需附件:
Tags:down
Continue to Read
under 随感
2008-11-27 am
在这个季节,校园里梧桐树的叶子,厚厚的铺满了来去的路上.
有风吹过,吹动树上的叶子,一片片落在地上.象是一片片永远不被诉说的故事.
迎风走着,风吹痛了眼睛,眼睛里盈出了泪水.
也许吧……
让一切都从下年的春天重新开始.
Continue to Read
under 学习笔记
2008-11-15 pm
这是一位叫做 Christos Chiotis 的希腊 Web 设计师发表在 CssGlobe 的一篇文章,讲述了黄金分割率在 CSS 中的应用。黄金分割率是一个应用广泛的数学常数,大约为 1.6180339887。黄金分割率用在 Web 设计中,可以为设计带来更多视觉上的和谐。
在一个简单的两栏式页面布局中,使用两个容器,第一个容器用来显示主要内容,第二个容器显示侧条。比如,页面宽度为 960 px,使用黄金分割率,主内容容器的宽度应该为 960 / 1.62 = 593 px,而侧条的宽度为 960-593=367 px。
作者建议,在 Web 排版与布局中可以使用以下基本 CSS 设置
line-height = font-size * 1.62
paragraph margin = paragraph line-height * 1.62 / 2
header’s margin-top = headers line-height * 1.62
不过对中文而言,至少 font-size 和 line-height 之间使用黄金分割率是不适合的,假如中文字体使用 12px 的话,最佳行高是 22px,如果字体使用 14px 的话,行高应该使用 [...]
Continue to Read
under 计算机
2008-11-14 pm
MD中了木马群,部分症状:无法复制粘贴文件,映象劫持,QQ目录内果然有了 psapi.dll文件… 病毒太多.只记住了进程里有两个数字进程和一个ailin.exe进程,且貌似多出一个svchost.exe进程,不过尚无法判断svchost.exe是否被病毒文件替换了.百度了一下解释说病毒在系统的system32目录和其他目录下释放dll文件和其他程序.本想运行360检查一下当前进程,居然无法运行- -!.360是不行了(似乎瑞星也无法运行),由于木马运行基本都是要连接网络的于是CMD中输入netstat -a命令,先看看占用端口情况,运行fport.exe并没有发现当前网络的可疑程序,不管那么多断网再说!不报希望的启动江民竟然可以运行,逃过此劫了.(电脑里本来装了江民可有时江民对cpu占用颇高便退出了程序,刚裸就中了)打开了监控就提示发现几个木马程序,但远没有检测到更多病毒文件.启动sreng慢慢来吧,凭经验删掉了注册表中的可疑项(误删了几个安全项 ),和几个映象劫持.将catch和临时文件清除重起.启动后发现不大对头!回想刚才删除注册表可疑项时,误删了经sreng系统关键文件验证(verified)的安全项.造成系统低层调用的某些程序无法启动.开始也没有记住删除的键值和注册表路径,更没有备份注册表的习惯!时间不早了,睡觉先 近一小时的木马清理战暂告一段落吧.
Second day
参照和我相同OS傻小孟的注册表,编辑了部分相关设置.重起后总算抒了口气,基本是正常启动了.现在要解决的问题是恢复粘贴复制功能,替换被病毒文件替换的系统文件(包括dllcache文件中备份的系统文件).
引出无法复制粘贴的原因是rpcss服务调用了\WINDOWS\system32\下的rpcss.dll被替换的文件,按search到的操作方法只要还原了病毒文件,在修改注册表项就解决问题.如何去将那从朋友机器中拷贝的正常文件复制过去呢?对.DOS命令可以用啊,于是乎敲入命令”copy x:rpcss.dll windows\system32\“,同样操作替换了dllcache中相同文件.由于同目录和dllcache目录下的userinit.exe文件也被病毒文件替换了,结束了系统中的userinit.exe进程,同样将文件换成了正常文件.要说明的userinit.exe只是在开机时被运行,OS启动完成后便会结束,如果在任务管理器发现它是常驻进程就有可能是可疑文件。
重起复制粘贴功能恢复了正常.
用XDELBOX工具删除了马群释放的那些病毒文件,不过自己还是不太放心病毒清除是不是彻底,根据当前流行木马的线程插入技术,随服务启动的特点,又检查了当前系统启动的服务项和容易被dll病毒依赖的进程模块信息,不过对于这种线程插入病毒还是很难去分辨的 .
Tags:木马
Continue to Read
under java script- 学习笔记
2008-11-6 pm
What this section covers:
Creating nodes
Duplicating nodes
Inserting nodes
Removing nodes
Replacing nodes
Manipulating nodes
Finding nodes
Node properties
Traversing the node tree
Continue to Read
under java script- 学习笔记
2008-11-5 pm
做一个使用DOM脚本设置样式信息的时候发现nextSibling属性在firefox2中无法被正确执行,仔细回忆关于对nextSibling的解释nextSibling——–下一个兄弟元素.又核对了脚本结构是没错的.还是使用alert(h2.nextsibling.nodeType)语句再判断其返回的下一个兄弟元素是何.在ff中的返回值是3一个textnode,不同与ie中的值!莫非??于是把h1与p之间的换行删掉.果然脚本被顺利的执行.想不到在在火狐中将换行符作为了nextSibling的下一个兄弟元素.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>nextsibling</title>
<script type="text/javascript">
window.onload=test;
function test(){
var headers = document.getElementsByTagName("h2");
for(i=0;i<headers.length;i++){
[...]
Continue to Read