逆水行舟
以前没怎么关心过w3c标准,一直以为w3c只是HTML和CSS的一种标准.最近我在做我们的 maidee.com 时被一个问题难到了,就是调用 window.onload 和 document.body 对象时网页上总是提示说此对象没有定义(undefined)或者其对象的值一直是零,我很不解,因为在做JS程序时我一般会用 editplus 调试好了再应用到系统中的,而在我调试时一切顺利的很,只要一放到系统里就会出现述对象. 在网上查了些资料才发现原来我们的 maidee.com 头部文件引用了 w3c 的标准
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ,
而我调试时都没有加这一行. 这行代码就是定义网页是否遵循w3c标准的,自然JS和CSS以及HTML都得遵循其标准,而在标准里没有这两个对象. 调用这两个对象需要用document.documentElement 来代替.
后来经过一些测试还发现了 document.body 对象必须在 body 内容加载完才有值,而 document.documentElement 对象则在访问时就存在了. 当遵循标准时如果要访问body对象时 document.body window.body就会失效,相反 document.documentElement 就会失效. 不知道其它对象在标准下还会不会有另一套,一直找不到个象样的javascript手册.
如果有需要要了解w3c标准的话,阿捷在 www.w3cn.org 有一篇介绍w3c标准的文章,写的通欲易懂.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ,
而我调试时都没有加这一行. 这行代码就是定义网页是否遵循w3c标准的,自然JS和CSS以及HTML都得遵循其标准,而在标准里没有这两个对象. 调用这两个对象需要用document.documentElement 来代替.
后来经过一些测试还发现了 document.body 对象必须在 body 内容加载完才有值,而 document.documentElement 对象则在访问时就存在了. 当遵循标准时如果要访问body对象时 document.body window.body就会失效,相反 document.documentElement 就会失效. 不知道其它对象在标准下还会不会有另一套,一直找不到个象样的javascript手册.
如果有需要要了解w3c标准的话,阿捷在 www.w3cn.org 有一篇介绍w3c标准的文章,写的通欲易懂.
meiking
2008-04-10 01:57:27
阅读:291
评论:0
引用:0
meiking
2008-04-10 01:56:36
阅读:109
评论:0
引用:0
document.body.clientWidth; //网页可见区域宽
document.body.clientHeight; //网页可见区域高
document.body.offsetWidth; //网页可见区域宽 (包括边线和滚动条的宽)
document.body.offsetHeight; //网页可见区域高 (包括边线的宽)
document.body.scrollWidth; //网页正文全文宽
document.body.scrollHeight; //网页正文全文高
document.body.scrollTop; //网页被卷去的高
document.body.clientHeight; //网页可见区域高
document.body.offsetWidth; //网页可见区域宽 (包括边线和滚动条的宽)
document.body.offsetHeight; //网页可见区域高 (包括边线的宽)
document.body.scrollWidth; //网页正文全文宽
document.body.scrollHeight; //网页正文全文高
document.body.scrollTop; //网页被卷去的高
meiking
2008-04-10 01:55:21
阅读:246
评论:0
引用:0
〖摘要:〗
HTML部份:
<SCRIPT
src="drag_drop.js"
type=text/javascript></SCRIPT>
<STYLE type=text/css>LI {
MARGIN-BOTTOM: 10px
}
OL {
MARGIN-TOP: 5px
}
.DragContainer {
BORDER-RIGHT: #669999 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #669999 2px solid; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #669999 2px solid; WIDTH: 100px; PADDING-TOP: 5px; BORDER-BOTTOM: #669999 2px solid
}
.OverDragContainer {
BORDER-RIGHT: #669999 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #669999 2px solid; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #669999 2px solid; WIDTH: 100px; PADDING-TOP: 5px; BORDER-BOTTOM: #669999 2px solid
}
.OverDragContainer {
BACKGROUND-COLOR: #eee
}
.DragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.OverDragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.DragDragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.miniDragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.OverDragBox {
BACKGROUND-COLOR: #ffff99
}
.DragDragBox {
BACKGROUND-COLOR: #ffff99
}
.DragDragBox {
FILTER: alpha(opacity=50); BACKGROUND-COLOR: #ff99cc
}
LEGEND {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #666699; FONT-FAMILY: verdana, tahoma, arial
}
FIELDSET {
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}
.History {
FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 100%; FONT-FAMILY: verdana, tahoma, arial; HEIGHT: 82px
}
#DragContainer8 {
BORDER-RIGHT: #669999 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #669999 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; BORDER-LEFT: #669999 1px solid; WIDTH: 110px; PADDING-TOP: 5px; BORDER-BOTTOM: #669999 1px solid; HEIGHT: 110px
}
.miniDragBox {
FLOAT: left; MARGIN: 0px 5px 5px 0px; WIDTH: 20px; HEIGHT: 20px
}
PRE {
BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #f8f8f0
}
</STYLE>
<body>
<FIELDSET id=Demo4><LEGEND>样例- 拖拽页面元素</LEGEND>
<DIV>
<DIV class=DragContainer id=DragContainer4 overclass="OverDragContainer">
<DIV class=DragBox id=Item1 overclass="OverDragBox" dragclass="DragDragBox">Item #1</DIV>
<DIV class=DragBox id=Item2 overclass="OverDragBox" dragclass="DragDragBox">Item #2<
继续阅读其余的 33871 字
src="drag_drop.js"
type=text/javascript></SCRIPT>
<STYLE type=text/css>LI {
MARGIN-BOTTOM: 10px
}
OL {
MARGIN-TOP: 5px
}
.DragContainer {
BORDER-RIGHT: #669999 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #669999 2px solid; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #669999 2px solid; WIDTH: 100px; PADDING-TOP: 5px; BORDER-BOTTOM: #669999 2px solid
}
.OverDragContainer {
BORDER-RIGHT: #669999 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #669999 2px solid; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 3px; BORDER-LEFT: #669999 2px solid; WIDTH: 100px; PADDING-TOP: 5px; BORDER-BOTTOM: #669999 2px solid
}
.OverDragContainer {
BACKGROUND-COLOR: #eee
}
.DragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.OverDragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.DragDragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.miniDragBox {
BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #000 1px solid; PADDING-LEFT: 2px; FONT-SIZE: 10px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 2px; BORDER-LEFT: #000 1px solid; WIDTH: 94px; CURSOR: pointer; PADDING-TOP: 2px; BORDER-BOTTOM: #000 1px solid; FONT-FAMILY: verdana, tahoma, arial; BACKGROUND-COLOR: #eee
}
.OverDragBox {
BACKGROUND-COLOR: #ffff99
}
.DragDragBox {
BACKGROUND-COLOR: #ffff99
}
.DragDragBox {
FILTER: alpha(opacity=50); BACKGROUND-COLOR: #ff99cc
}
LEGEND {
FONT-WEIGHT: bold; FONT-SIZE: 12px; COLOR: #666699; FONT-FAMILY: verdana, tahoma, arial
}
FIELDSET {
PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; PADDING-TOP: 3px
}
.History {
FONT-SIZE: 10px; OVERFLOW: auto; WIDTH: 100%; FONT-FAMILY: verdana, tahoma, arial; HEIGHT: 82px
}
#DragContainer8 {
BORDER-RIGHT: #669999 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #669999 1px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; BORDER-LEFT: #669999 1px solid; WIDTH: 110px; PADDING-TOP: 5px; BORDER-BOTTOM: #669999 1px solid; HEIGHT: 110px
}
.miniDragBox {
FLOAT: left; MARGIN: 0px 5px 5px 0px; WIDTH: 20px; HEIGHT: 20px
}
PRE {
BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #f8f8f0
}
</STYLE>
<body>
<FIELDSET id=Demo4><LEGEND>样例- 拖拽页面元素</LEGEND>
<DIV>
<DIV class=DragContainer id=DragContainer4 overclass="OverDragContainer">
<DIV class=DragBox id=Item1 overclass="OverDragBox" dragclass="DragDragBox">Item #1</DIV>
<DIV class=DragBox id=Item2 overclass="OverDragBox" dragclass="DragDragBox">Item #2<
继续阅读其余的 33871 字
meiking
2008-04-10 01:54:29
阅读:42
评论:0
引用:0
代码:
<div style="width :
100px; height : 100px; background-color : #f00; filter:alpha(opacity=50);
/* IE */ ; -moz-opacity:0.5; /* Moz + FF */ ; opacity: 0.5; /* 支持CSS3的浏
览器(FF 1.5也支持)*/">
我在任何浏览器里都是半透明的
div>
100px; height : 100px; background-color : #f00; filter:alpha(opacity=50);
/* IE */ ; -moz-opacity:0.5; /* Moz + FF */ ; opacity: 0.5; /* 支持CSS3的浏
览器(FF 1.5也支持)*/">
我在任何浏览器里都是半透明的
div>
meiking
2008-04-10 01:52:52
阅读:149
评论:0
引用:0
系统自带的 alert() 比较烦人,因为会覆盖页面且有声音,其实最有直接的就是人们已经不喜欢这种提示信息。
我做了个小的 提示窗,效果还行,这是算是做一个备份,大家需要的话也可以顺便服务大众。 大概效果是一个方块从浏览器的正上方移动到页面上方边缘,点击关闭或一定时间后会渐隐掉。
代码:
调用时直接 javascript: show_alert("信息"); 就行了,如果是想报错的话可以在第二个参数中输入 "error",第三个参数是时间,默认为 3秒后消失。
我做了个小的 提示窗,效果还行,这是算是做一个备份,大家需要的话也可以顺便服务大众。 大概效果是一个方块从浏览器的正上方移动到页面上方边缘,点击关闭或一定时间后会渐隐掉。
代码:
function fromID(id) {
return document.getElementById(id);
}
function show_alert(msg, type, time) {
var layer_obj = fromID("alert_layer");
var layer_text= fromID("alert_text");
var line_height = (document.documentElement.scrollTop == 0) ? document.body.scrollTop : document.documentElement.scrollTop;
layer_text.innerHTML = msg;
with(layer_obj.style) {
zIndex = 999;
top = line_height-40;
left = document.body.clientWidth/3;
display = "block";
position = "absolute";
if(type == "error") {
background = "url(http://"+style_domain+"/snake/index/msgbox_right_bg2.jpg)";
}
}
layer_obj.filters[0].opacity = "0.8"; //透明度为 80%
if(time == undefined) time = 3000;
else time = time*1000;
var top = line_height-40;
var speed = 1.5;
time-= 1000;
//控制窗口向下移动至页面边缘
move_down = function MoveFplogo() {
top+= speed;
layer_obj.style.top = top;
if(top < line_height) setTimeout("move_down()", 1);
else setTimeout("close_alert_win()", time);
}
move_down();
}
function close_alert_win() {
var layer_obj = fromID("alert_layer");
//控制窗口渐渐消失
if(layer_obj.filters[0].opacity < 0.02) {
layer_obj.style.display = "none";
return true;
}
layer_obj.filters[0].opacity-= 0.02;
setTimeout("close_alert_win()", 1);
}
document.writeln(" ");
return document.getElementById(id);
}
function show_alert(msg, type, time) {
var layer_obj = fromID("alert_layer");
var layer_text= fromID("alert_text");
var line_height = (document.documentElement.scrollTop == 0) ? document.body.scrollTop : document.documentElement.scrollTop;
layer_text.innerHTML = msg;
with(layer_obj.style) {
zIndex = 999;
top = line_height-40;
left = document.body.clientWidth/3;
display = "block";
position = "absolute";
if(type == "error") {
background = "url(http://"+style_domain+"/snake/index/msgbox_right_bg2.jpg)";
}
}
layer_obj.filters[0].opacity = "0.8"; //透明度为 80%
if(time == undefined) time = 3000;
else time = time*1000;
var top = line_height-40;
var speed = 1.5;
time-= 1000;
//控制窗口向下移动至页面边缘
move_down = function MoveFplogo() {
top+= speed;
layer_obj.style.top = top;
if(top < line_height) setTimeout("move_down()", 1);
else setTimeout("close_alert_win()", time);
}
move_down();
}
function close_alert_win() {
var layer_obj = fromID("alert_layer");
//控制窗口渐渐消失
if(layer_obj.filters[0].opacity < 0.02) {
layer_obj.style.display = "none";
return true;
}
layer_obj.filters[0].opacity-= 0.02;
setTimeout("close_alert_win()", 1);
}
document.writeln(" ");
调用时直接 javascript: show_alert("信息"); 就行了,如果是想报错的话可以在第二个参数中输入 "error",第三个参数是时间,默认为 3秒后消失。
meiking
2008-04-10 01:50:37
阅读:42
评论:0
引用:0
〖摘要:〗
2006-08-09 09:45:10 By: 谢智
因为问题只在注册页面,所以问题肯定是和注册页面的某些相关程序引起的,注册页面和其它页面不同的地方有FLASH、Javascript和CSS代码,因此尝试了以下几个步骤:
2006-08-09 09:45:10 By: 谢智
前一段时间我们开发的占座网(http://www.zhanzuo.com)一直有用户提出在注册时报如下图错误,在公司这种错误也能重现,包括我自己的电脑,当时分析结果就是因为QQ的流氓插件引起的,在禁用QQ相关插件后发现问题解决.
错误如图:

然而占座的用户大部份都有安装QQ,此问题必须要解决,今天再次尝试解决此问题终于有了重大突破!
... ...
- 因为感觉FLASH代码是和插件直接挂勾的,所以先注释所有FLASH继续阅读其余的 11384 字
meiking
2008-04-10 01:05:33
阅读:412
评论:0
引用:0
meiking
2008-04-10 00:59:51
阅读:15
评论:0
引用:0
2006-04-06 13:16:52 By: 谢智
[文章来自developerWorks中国]
2004 年 8 月 08 日
2004 年 8 月 08 日
重要数据的丢失可能意味着致命的破坏。尽管如此,还是有无数专业人员忽视了对 他们的数据的备份。虽然原因可能各不相同,但是,最常见的一个解释是,执行例行备份确实烦琐。由于机器擅长于完成普通而重复的任务,因此,自动化备份的过 程是降低工作内在的枯燥性和人们与生俱来的拖延倾向的关键所在。
如果您使用 Linux,那么您就已经可以使用那些创建定制备份解决方案的极其强大的工具。本文中的方案, 可以让您使用几乎每个 Linux 发行版本都带的开放源代码工具来执行从简单的到更高级而且安全的网络备份。
原文地址: http://www-128.ibm.com/developerworks/cn/linux/l-backup/index.html
meiking
2008-04-10 00:57:36
阅读:10
评论:0
引用:0
盘符:debug
-a
mov ax,0301
mov bx,1000
mov cx,01
mov dx,80
int 13
int 3
-f 1000 1200 00
-g=100
meiking
2008-04-10 00:56:18
阅读:22
评论:0
引用:0
Copyright@2008 powered by YuLog

