jsp中<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” 。。的重要性「建议收藏」

jsp中<!DOCTYPE html PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” 。。的重要性「建议收藏」在jsp先看2个很奇怪的现象<%@pagelanguage="java"contentType="text/html;charset=utf-8"pageEncoding="utf-8"%> Inserttitlehere functiongetpro(selProvance) { alert(“go”);//可以输出go// alert(s

大家好,又见面了,我是你们的朋友全栈君。

在jsp先看2个很奇怪的现象

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
	<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<script type="text/javascript">
	function getpro(selProvance)
	{
		alert("go");//可以输出go
// 		alert(selProvance.options[selProvance.selectedIndex].value);//<!DOCTYPE html...若在,输不出来1
		alert(document.getElementById(selProvance).value);//可以输出1
	}
</script>
<body οnlοad="getpro('selProvance')"><!-- 传的id注意加上引号,表示出入Id -->

				<select  id="selProvance">
						<option>1</option>
				</select>
				
</body>
</html>

2、

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <!-- 去掉开头的<!DOCTYPE html PUBLIC等 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<script type="text/javascript">
	function getpro(selProvance)
	{
		alert("go");//可以输出go
		alert(selProvance.options[selProvance.selectedIndex].value);//可以输出2
// 		alert(document.getElementById(selProvance).value);//<!DOCTYPE html PUBLIC去掉后,不能输出2
	}
</script>
<body οnlοad="getpro(selProvance)"><!-- 注意当去掉<!DOCTYPE html PUBLIC后,这里千万不能加引号,才能使上面的有除go之外的输出 -->

				<select  id="selProvance">
						<option>2</option>
				</select>
				
</body>
</html>

这个句头作用是很大的,如果不加,默认你的html是html4.0的。

而如果加上了<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

说明了你的是xhtml。

那么html与xhtml的差别在于,一些css样式和js的支持不同。

有时,我们会遇到一个很普通的日历控件 加不加这句<!DOCTYPE html PUBLIC的,直接影响这个页面是不是能用,说明dtd是定义html标记的规则的,日期控件和css不兼容这一个dtd。

也就是说,如果一个很普通的静态网页,(无论是不是jsp或html,只要是数据是静态),可以试试去掉或者加上这个<!DOCTYPE html PUBLIC等 ,看能否正常显示,

另外

<!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。    该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。

以下面这个 <!DOCTYPE> 标签为例:

   <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

   在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 “-//W3C//DTD XHTML1.0 Strict//EN” 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。

   提示和注释:
   注释:<!DOCTYPE> 标签没有结束标签!

   HTML
   HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

   HTMLStrict DTD
   如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:

   <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN” “
http://www.w3.org/TR/html4/strict.dtd”>
HTML Transitional DTD
   Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 HTML 的呈现特性时,请使用此类型:

   <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN” “
http://www.w3.org/TR/html4/loose.dtd”>
   Frameset DTD
   Frameset DTD 应当被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于 Transitional DTD:

   <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Frameset//EN” “
http://www.w3.org/TR/html4/frameset.dtd”>
   XHTML
   XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

   XHTML Strict DTD
   如果您需要干净的标记,免于表现层的混乱,请使用此类型。请与层叠样式表(CSS)配合使用:

   <!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

   XHTML Transitional DTD
   Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素。如果您的读者使用了不支持层叠样式表(CSS)的浏览器以至于您不得不使用 XHTML 的呈现特性时,请使用此类型:

   <!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

   XHTML Frameset DTD
   当您希望使用框架时,请使用此 DTD!

   <!DOCTYPE html
PUBLIC “-//W3C//DTD XHTML 1.0 Frameset//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd”>

参考来源:http://jingyan.baidu.com/article/cdddd41c409e1f53cb00e18c.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157972.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • 一个刷博客的小工具

    一个刷博客的小工具在基本做完了机房机房收费系统后,今天用了将近一天的时候,做了一个刷博客的小工具。由于本人自知水平有限,所以软件也很小,很简陋。在接下的时间,我会再善一下,然后贴出来与大家分享。      下面说一下做我时的感受吧!      在做之前,我可以说是一片茫然

    2022年6月22日
  • TypeError: argument of type ‘int‘ is not iterable「建议收藏」

    TypeError: argument of type ‘int‘ is not iterable「建议收藏」TypeError:argumentoftype’int’isnotiterableTraceback(mostrecentcalllast):File"C:/Users/lenovo/PycharmProjects/DoubleU/TestCase/test.py",line131,in&lt;module&gt;Select(driver.find_…

    2022年10月29日
  • Mac录屏转GIF「建议收藏」

    Mac录屏转GIF「建议收藏」首先使用QuickTimePlayer录屏,软件如下:使用方法:1.点击【新建屏幕录制】2.点击录制按钮,可以自行选定特定区域,也可以录制整个屏幕,自己设置3.完成之后,电脑顶部右边有结束按钮存储到需要的位置,下面开始转GIF所需工具:python和两个包:首先控制台检查版本,控制台先后输入:python3-Vpip3-V没有的先下载,有的话太低了自行升级安装需要的两个包:先安装:pip3installrequests-i再安装:pip3install

    2022年9月24日
  • PYTHON主机_我的Python世界PDF

    PYTHON主机_我的Python世界PDF学了好长一段时间Python了,前段时间想找个支持Python(Django)的空间来试试。国外的主机虽然性价比高(都是按G来算),但是没有美元也没有信用卡,就没法了。国内的支持Python(Django)的空间还真是少,我找了好几天就看到两个比较好的:捌号主机和浪点 。但是捌号主机的空间也真是有够贵的,是便宜的也是好几百。最后我选择了浪点的空间。浪点的空间要普通级以上才能开通

    2022年10月10日
  • 深入理解halcon相机标定[通俗易懂]

    深入理解halcon相机标定[通俗易懂]目录相机标定简介深度说明1、相机标定参数介绍2、标定板详细介绍问题1:halcon是否只能使用halcon专用的标定板?问题2:halcon标定板如何生成?问题3:halcon标定板如何摆放,拍照数量有无限制?标定步骤1、设置相机内部初始值使用set_calib_data_cam_param算子设置相机内部初始值畸变类型选择与参数确定技巧2、标定板初始化3、创建标定数据模型4、获取标定图片5、使…

    2022年5月28日
  • 史上MySQL安装配置教程最细,一步一图解

    史上MySQL安装配置教程最细,一步一图解一、下载MySQLMysql官网下载地址:https://downloads.mysql.com/archives/installer/1.选择要安装的版本,本篇文章选择的是5.7.31版本,点击Download下载二、安装MySQL1.选择设置类型双击运行mysql-installer-community-5.7.31.0.msi这里选择是自定义安装,所以直接选择“Custom”,点击“Next”“DeveloperDefault”是开发者默认 “Server

    2022年5月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号