问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何正确地在XHTML文档中使用JavaScript和CSS

发布网友 发布时间:2023-08-15 07:30

我来回答

1个回答

热心网友 时间:2024-12-05 12:31



在越来越多的网站中,XHTML的使用正以很快的速度替代HTML4,但是,目前一些主流浏览器对XHTML的支持还不是很好,加上一些网页制作者对XHTML和HTML4之间的差异理解不够,使得XHTML在WEB发展上进程变得缓慢。XHTML是XML而不是HTML 目前,对XHTML的一个主要误解是它是HTML的另外一个版本。造成此误解的一个事实是Microsoft Internet Explorer仅支持MIME格式为text/html的XHTML而不是被推荐的application/xhtml+xml格式。当一个XHTML页面被以text/html的MIME格式解析时,它和HTML页面没有任何差别,而当它以text/xml或者application/xhtml+xml的MIME格式解析时,它将遵从严格的XML书写和显示规则。正确的XHTML格式是一个XML程序并且在书写的时候需要按照以下的严格规则:1.字符<和&不允许出现在XHTML文档内容中,除非它们被包含在CDATA标签中(<![CDATA[...]]>) 2.注释标签(<!--...-->)内容中不能包含两个连续的横杠(--) 3.包含在注释标签(<!--...-->)中的内容将被忽略 style和script内容中的问题 style和script标签内的内容在XHTML被以XML格式(而不是HTML格式)解析时将造成一些不同的差异。JavaScript中包含了XHTML中不能存在的字符 Javascript的一些特别字符是XHTML的CDATA标签外不能存在的字符。 <script type="text/javascript">var i = 0;while(++i < 10){//...}</script>注意:上面的示例代码并非良好的XHTML格式,因为它使用了XHTML或XML中不允许的标记"< "在style和script内容中使用注释 熟悉HTML的作者通常了解,将style和script标签内容放到注释标签内,将在浏览器中隐藏这些内容,但有些浏览器却不能理解它们。<style type="text/css"><!--body {background-color: blue; color: yellow;}--></style><script type="text/javascript"><!--var i = 0;var sum = 0;for (i = 0; i < 10; ++i){sum += i;}alert('sum = ' + sum);// --></script>上面的示例说明了如何在浏览器中忽略注释标签内的内容,同时,这个示例还显示了浏览器在处理text/xml格式和application/xhtml+xml格式的内容的区别。Mozilla 1.1+ / Opera 7不应用CSS,不执行JavaScriptNetscape 7.0x / Mozilla 1.0.x不应用CSS,但执行JavaScriptInternet Explorer 5.5+不显示该文档.(参见:https://developer.mozilla.org/Ta ... _in_XHTML_Documents )style和javascript内含有两个连续的横杠(--) 在XHTML页面的JavaScript中使用注释标签进行处理时产生的另一个问题就是JavaScript中会有出现两个连续的横杠(--)的情况:<script type="text/javascript"><!--var i;var sum = 0;for (i = 10; i > 0; --i){sum += i;}// --></script>使用CDATA代替注释 将script标签内的内容放到CDATA块中可以很好地处理注释中出现两个连续的横杠的问题,不过这将使得一些低版本的浏览器不支持它,因为它们不能理解XML。好在,我们可以通过使用JavaScript中的注释符对CDATA块进行注释以达到兼容的目的。<script type="text/javascript">//<![CDATA[var i = 0;while(++i < 10){// ...}//]]></script>推荐的xhtml与html兼容处理方式 不要在XHTML页面中直接书写style和script,一个好的替代方案是使用外部文件来书写CSS和JavaScript,然后再在XHTML中进行引入。这个推荐方案看起来非常不错,不管怎样,它使得页面从text/html向application/xhtml+xml转变的过程中,至少在接下来的这些年里不会出现什么问题。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
街头篮球手游中锋攻略汇总 C位攻略大全 街头篮球手游中锋有什么技巧 中锋C技巧详解 php一个表单提交数据怎么区分开,隐藏域可以吗,如果可以怎么用。 梦见牙掉光了什么预兆 梦见牙齿掉完了是什么征兆 梦见牙齿全掉了是什么预兆 梦见一口牙全部掉了是什么预兆 教师年度考核不认课的领导班子成员,干的工作不少,怎样考核办法公平... 湖北省郧西县义务教育学校绩效工资实施办法绩效工资总量和水平的... 事业单位年底是否有绩效奖金的 网页上的loading怎么做的啊,怎么让程序加载完成后loading正好到头?多... 怎么注册新的 梦见和别的男人亲密逛街 注册新的怎么弄 新注册怎么注册 ...最好是离五一广场近的,长沙最好的玉器店... 入职体检时丙氨转移酶71,会不会影响入职 新干线大爆破的演职员表 高丽参蒸多久可以切 从郑州交通技师学院坐几路公交车到郑州新南站 我想要知道从郑州南站到郑州商业中等专业学校的路线 从郑州城轨交通中等专业学校到郑州东站怎么走? 郑州城轨交通中等专业学校的学校地址 郑州城轨交通中等专业学校邮编多少 从郑州南站到新郑乘轨交通大学怎么走 看中了一款联想Z585Am-AE和一款联想M490-IFI(4GB/1TB)华硕A55Vd笔记本不... 联想M490和B490哪个好? 联想电脑M490-IFI 联想M490-IFI(4GB/1TB)玩星际2怎么样 联想M490 IFI 挚爱之人,地久天长翻译成藏文!求助啊!谢谢谢 珍爱之人,地久天长 翻译成藏文 我男朋友和哥们合租的 他哥们两个人都不怎么说话 我和他哥们女朋友我们... 我男朋友和他哥们在一起住 他哥们和女朋友在一起住 我男朋友和几个男... 我该和男友的兄弟一起住吗?我男人他想和他两个兄弟一起住 还有我和他... 怎样操作meta标签中的viewport来控制设备屏幕的css属性 我男朋友和哥们合租 他哥们女朋友经常带闺蜜过来 我和他哥们女朋友不... 我男朋友和哥们一起租的房子,我和男朋友一起住他白天总和哥们在一起呆... 康熙九子上任为什么雍正是最后的赢家? 电风扇坏了,请懂修家用电风扇的师傅进来指点一下 京剧猫之脚踏实地什么时候更新 潍坊科技学院录取分数线是多少 潍坊科技职业技术学院过投档线位次一万多能上上吗 怎么用ps将图片转为cmyk模式? 西药凡林的药效我是一肾脏病患者,最近痛风很厉害,朋友介绍用生理盐水... 卖房的销售人员有基本工资吗 在IE6下div都会出现哪些问题,应该怎么调试,高手指点一下。 晨化股份后期怎么样?晨化股份主力资金流入?晨化股份股票分红日期? 晨化股份股票最新公告?晨化股份还能追高吗?300610晨化股份能分红吗? ...UG在插入“曲线”文本做出来的文字在加工时选刀具路径选不上呢...