W3C的XHTML标准会破坏脚本的运行结果

emu 2006-02-16 04:52:35
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
window.onscroll=function(){alert(document.body.scrollTop)}
//-->
</script>
</head>
<body>
<div style="height:2000px"></div>
</body>
</html>

这是个能通过http://validator.w3.org/验证的正确页面,但是在滚动的时候永远都只能打出来0。

<html>
<head>
<title></title>
<script type="text/javascript">
<!--
window.onscroll=function(){alert(document.body.scrollTop)}
//-->
</script>
</head>
<body>
<div style="height:2000px"></div>
</body>
</html>

这是个运行结果正确的页面,但是不能声明xhtml规则。
两种情况下IE,firefox下面运行结果一致。真郁闷。
求教高手,在xhtml下面有没有解决的办法呢?
...全文
135 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
emu 2006-02-16
  • 打赏
  • 举报
回复
greatdinosaur() 不要听话听一半嘛。我说了可以用gb18030的,和gb2312是兼容的编码规范,怎么还要条utf-8的刺。再说utf-8在最差的情况下(纯中文的文本文件)也只是比gb编码大一半而不是一倍,很多时候文件大小并不是我们唯一的选择标准。
lunge 2006-02-16
  • 打赏
  • 举报
回复
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
window.onscroll=function(){window.status = document.documentElement.scrollTop;}
//-->
</script>
</head>
<body>
<div style="height:2000px"></div>
</body>
</html>
greatdinosaur 2006-02-16
  • 打赏
  • 举报
回复
utf会让文件大一倍呢,我辛辛苦苦用css布局不是白搞了,大家不要把把做网页也搞成应试教育了,做好了就去validator,用httplook在地带宽下听一便用处还大一些,用户不会管你validator打开流畅就好了。
emu 2006-02-16
  • 打赏
  • 举报
回复
总算盼到高手出手了呵呵
emu 2006-02-16
  • 打赏
  • 举报
回复
“硚口区”是因为GB2312不支持“硚”字造成的,应该用UTF-8或者GB18030编码来解决,这不是w3c的问题,自己没有搞清楚charset。
meizz 2006-02-16
  • 打赏
  • 举报
回复
document.body.scrollTop
==>
document.documentElement.scrollTop;

不过好象是 onscroll 事件在XHTML里有问题
emu 2006-02-16
  • 打赏
  • 举报
回复
不是个好答案。去掉后在http://validator.w3.org/上验证的时候会报告这个错误:

Your document includes a DOCTYPE declaration with a public identifier (e.g. "-//W3C//DTD XHTML 1.0 Strict//EN") but no system identifier (e.g. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"). This is authorized in HTML (based on SGML), but not in XML-based languages.

还不如完全去掉声明呢。
greatdinosaur 2006-02-16
  • 打赏
  • 举报
回复
能通过http://validator.w3.org/并不在于,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
而在于页面本身
我曾经做过一个页面,页面本身可以通,但是加了内容就不可以,一看是怎么回事呢,原来文本里有一个 “硚口区”就是硚字没让他通过validator。所以大家打可不必一定要validator,能够借用CSS布局优化HTML就好。
greatdinosaur 2006-02-16
  • 打赏
  • 举报
回复
去掉 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" 即可
但是你可能要修改部分padding值了。
emu 2006-02-16
  • 打赏
  • 举报
回复
术业有专攻,不完全是谁更高的问题。
mingxuan3000 2006-02-16
  • 打赏
  • 举报
回复
mark
satans18 2006-02-16
  • 打赏
  • 举报
回复
估计这里没有比你还高的高手了 :)

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧