整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML、HTML5重难点

、XHTML与HTML的区别

文档结构

XHTML DOCTYPE 是强制性的

<html>中的 XML namespace 属性是强制性的

<html>、<head>、<title>以及 <body>也是强制性的

元素语法

XHTML 元素必须正确嵌套

XHTML 元素必须始终关闭

XHTML 元素必须小写

XHTML 文档必须有一个根元素

属性语法

XHTML 属性必须使用小写

XHTML 属性值必须用引号包围

XHTML 属性最小化也是禁止的

二、HTML5中一些新特性

用于绘画的 canvas 元素

用于媒介回放的 video 和 audio 元素

对本地离线存储的更好的支持

新的特殊内容元素,比如 article、footer、header、nav、section

新的表单控件,比如 calendar、date、time、email、url、search

注意:最新版本的 Safari、Chrome、Firefox 以及 Opera 支持某些 HTML5 特性。Internet Explorer 9 将支持某些 HTML5 特性。

IE9 以下版本浏览器兼容HTML5的方法,使用本站的静态资源的html5shiv包:

<!--[if lt IE 9]>
    <script src="http://cdn.static.runoob.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<![endif]-->
   /*html5*/
article,aside,dialog,footer,header,section,nav,figure,menu{display:block}

我自己是一名从事了多年开发的web前端老程序员,目前辞职在做自己的web前端私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的web前端学习干货,各种框架都有整理,送给每一位前端小伙伴,想要获取的可以关注我的头条号并在后台私信我:前端,即可免费获取。

三、HTML5web存储

使用HTML5可以在本地存储用户的浏览数据。

早些时候,本地存储使用的是 cookie。但是Web 存储需要更加的安全与快速. 这些数据不会被保存在服务器上,但是这些数据只用于用户请求网站数据上.它也可以存储大量的数据,而不影响网站的性能.

数据以 键/值 对存在, web网页的数据只允许该网页访问使用。

浏览器支持:

Internet Explorer 8+, Firefox, Opera, Chrome, 和 Safari支持Web 存储。

注意: Internet Explorer 7 及更早IE版本不支持web 存储.

localStorage 和 sessionStorage

客户端存储数据的两个对象为:

localStorage - 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。

sessionStorage - 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

在使用 web 存储前,应检查浏览器是否支持 localStorage 和sessionStorage:

if(typeof(Storage)!=="undefined")
{
    // 是的! 支持 localStorage  sessionStorage 对象!
    // 一些代码.....
} else {
    // 抱歉! 不支持 web 存储。
}

不管是 localStorage,还是 sessionStorage,可使用的API都相同,常用的有如下几个(以localStorage为例):

保存数据:localStorage.setItem(key,value);

读取数据:localStorage.getItem(key);

删除单个数据:localStorage.removeItem(key);

删除所有数据:localStorage.clear();

得到某个索引的key:localStorage.key(index);

四、HTML5 应用程序缓存

HTML5 -应用程序缓存=>使用文章链接跳转点这里

五、HTML5 服务器发送事件(Server-Sent Events)

Server-Sent 事件指的是网页自动获取来自服务器的更新。

以前也可能做到这一点,前提是网页不得不询问是否有可用的更新。通过服务器发送事件,更新能够自动到达。

例子:Facebook/Twitter 更新、股价更新、新的博文、赛事结果等。

所有主流浏览器均支持服务器发送事件,除了 Internet Explorer。

<h1>获取服务端更新数据</h1>
<div id="result"></div>
if(typeof(EventSource)!=="undefined")
{
	var source=new EventSource("demo_sse.php");
	source.onmessage=function(event)
	{
		document.getElementById("result").innerHTML+=event.data + "<br>";
	};
}
else
{
	document.getElementById("result").innerHTML="抱歉,你的浏览器不支持 server-sent 事件...";
}

六、HTML5 WebSocket

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。

WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

现在,很多网站为了实现推送技术,所用的技术都是 Ajax 轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。

HTML5 定义的 WebSocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

详情和代码示例:.

七、HTTP状态消息

1xx: 信息

2xx: 成功

3xx: 重定向

4xx: 客户端错误

5xx: 服务器错误

详情

八、HTTP 方法:GET 对比 POST

两种最常用的 HTTP 方法是:GET 和 POST。

什么是 HTTP ?

超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信。

HTTP 的工作方式是客户端与服务器之间的请求-应答协议。

web 浏览器可能是客户端,而计算机上的网络应用程序也可能作为服务器端。

举例:客户端(浏览器)向服务器提交 HTTP 请求;服务器向客户端返回响应。响应包含关于请求的状态信息以及可能被请求的内容。

GET - 从指定的资源请求数据。

POST - 向指定的资源提交要被处理的数据。

GET 方法

请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:

/test/demo_form.php?name1=value1&name2=value2

有关 GET 请求的其他一些注释:

GET 请求可被缓存

GET 请求保留在浏览器历史记录中

GET 请求可被收藏为书签

GET 请求不应在处理敏感数据时使用

GET 请求有长度限制

GET 请求只应当用于取回数据

POST 方法

请注意,查询字符串(名称/值对)是在 POST 请求的 HTTP 消息主体中发送的:

有关 POST 请求的其他一些注释:

POST 请求不会被缓存

POST 请求不会保留在浏览器历史记录中

POST 不能被收藏为书签

POST 请求对数据长度没有要求


  • 其他 HTTP 请求方法
  • 下面的表格列出了其他一些 HTTP 请求方法:



    原文链接:https://blog.csdn.net/weixin_39834961/article/details/103765680

    作者:yhlyeah

    前面已经学习相关html大部分知识,基本上可以制作出简单的页面,但是这些页面都是静态的,一个网站如果要实现用户的互动交流,这时表单就起到关键的作用,表单的用途很多,它主要用来收集用户的相关信息,是网页具有交互的功能。例如,用户注册登录,留言等。

    下面会详细介绍表单的使用方法,有以下内容:

    • 表单标签form的使用
    • 表单控件使用

    表单标签 —— form

    使用<form></form>标签来创建一个表单,在其之间就是各种表单控件,如,输入框,文本框,单选按钮,多选按钮,提交按钮等。

    语法代码如下:

    <form name="表单名称" action="表单处理程序的服务地址" method="提交表单时所用的HTTP方法">
      ...... 表单控件......
      </form>

    1、action —— 处理程序

    这里的 action 属性值表单提交的地址,就是表单收集好数据后要传递给远程服务的地址,其地址可以是绝对路径也可以是相对路径,或者其它形式,如发送电子邮件。

    使用表单发送电子邮件:

    <form action="mailto:xxx@126.com">
      ...... 表单控件......
      </form>

    提交到后台程序地址:

    <form action="action_page.php">
      ...... 表单控件......
      </form>

    2、name —— 表单名称

    表单名称,这一属性不是必需的,但是为了防止表单信息提交到后台处理程序时发生混乱,一般要设置一个名称,且在同一页面中最好是唯一的,不要和其它表单重复命名。

    <form name="loginForm">
      ...... 表单控件......
      </form>

    3、method —— 传送数据方法

    method 属性用来定义处理程序使用那种方法来获取数据信息,常用的有 get 和 post (http 协议定义的方法)。

    <form name="loginForm" action="get 或 post">
      ...... 表单控件......
      </form>

    何时使用 GET?

    GET 最适合少量数据或不是很重要数据的提交,浏览器会设定容量限制,默认如何没有设置method 属性,表单则会使用get 方法。

    当您使用 GET 时,表单数据在页面地址栏中是可见的,会在表单提交的地址后面跟一个问号“?” ,问号后面是数据,以 名称1=值1&名称2=值2 形式发送到后台程序。

    地址栏会看到如下:

    action_page.php?firstname=Mickey&lastname=Mouse

    关于 GET 的注意事项:

    以名称/值对的形式将表单数据追加到 URL

    永远不要使用 GET 发送敏感数据!(提交的表单数据在 URL 中可见!)

    URL 的长度受到限制(2048 个字符)

    对于用户希望将结果添加为书签的表单提交很有用

    GET 适用于非安全数据,例如 Google 中的查询字符串

    何时使用 POST?

    使用post 表单数据和url(表单提交地址)是分开发送的,在页面地址栏中被提交的数据是不可见的,这样安全性更好,用户端会通知服务端获取数据,所以这种情况没有数据长度的限制,缺点是速度会慢些。

    关于 POST 的注意事项:

    将表单数据附加在 HTTP 请求的正文中(不在 URL 中显示提交的表单数据)

    POST 没有大小限制,可用于发送大量数据。

    带有 POST 的表单提交后无法添加书签

    4、enctype —— 编码方式

    enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

    <form enctype="value">

    有以下几种值:

    含义

    application/x-www-form-urlencoded

    在发送前编码所有字符(默认编码方式)

    multipart/form-data

    不对字符编码。

    在使用包含文件上传控件的表单时,必须使用该值。

    text/plain

    以纯文本的方式,空格转换为 "+" 加号,但不对特殊字符编码。

    5、target —— 目标显示方式

    target 属性规定在何处打开 action URL。表单的目标窗口通常用来显示表单返回的信息,例如是否成功提交了表单,是否出错等。

    <form target="value">

    属性值有以下:

    描述

    _blank

    在新窗口中打开。

    _self

    默认。在表单当前的窗口中打开。

    _parent

    在父窗口中打开。

    _top

    在顶级窗口中打开。

    framename

    在指定的框架窗口中打开。

    看到这里是不是想的了之前学习超链接时候,a标签也有同样的属性,这里差不多一个意思,只是用途不一样。

    这里的窗口有可能是框架 frame 或 浮动窗口 iframe ,后面会讲到框架和浮动窗口,就是在一个页面中可以嵌套一个子窗口。

    表单控件的使用

    什么是表单控件,就是收集数据的各种形式控件,比如输入框,密码框,单选、多选按钮,下拉菜单,文本域,文件域,提交按钮等等。

    如下代码:

    <form name="form1">
    <div>用户名:<input name="username" type="text" ></div>
    <div>密码:<input name="password" type="password" ></div>
    <div>性别:
    <input type="radio" name="sex" value="male" checked> 男
    <br>
    <input type="radio" name="sex" value="female"> 女
    </div>
    <div> 车辆:
    <select name="cars">
    <option value="volvo">baom</option>
    <option value="saab">Saab</option>
    <option value="fiat">Fiat</option>
    <option value="audi">Audi</option>
    </select>
    </div>
    <div>留言:
    <textarea name="message" rows="10" cols="30">
    请输入文本
    </textarea>
    </div>
    </select>
      </form>

    效果如下:

    这里显示了一个基本表单,包含了输入框,密码框,单选,下拉菜单,文本域等组件,下面会按其使用类型介绍表单控件。

    所有表单控件都一个name属性和vaule属性,用于和其它控件区别,后台程序将会以此名称获取其表单控件对应的vaule值。

    下篇会介绍各种表单控件的使用,感谢关注。

    上篇:前端入门——html 表格的使用

    下篇:前端入门——html 表单控件使用

    什么是HTML表单?

    表单form是网页获取用户输入数据的一种方式,如图:

    表单

    表单中通常包括各种输入框、文本标签、提交按钮等。

    1、一个简单的表单

    首先要有一个form标签,其他表单控件放到from标签中,第一个是label标签用来描述后面的文本框中需要输入什么内容,然后是一个input标签,type的值是text表示是一个文本框,然后也是一个input标签,type的值是submit,表示是一个提交按钮,当然想要真正的提交数据还需要一些额外的属性。

    <form action="">
    
     <label for="">学生姓名</label>
    
     <input type="text">
    
     <input type="submit" value="保存">
    
    </form>

    2、form标签不但包含所有的表单控件,还会告诉浏览器当你提交表单的时候要把表单数据发送到哪里,以及使用什么方式发送。

    <form action="login.php" method="POST">
    
    </form>

    action属性指定表单数据要发送到哪个服务器脚本上,例如这里发送到login.php ,method属性指定服务器发送的方式,有post和get两种方式,在表单当中常用post。

    3、for属性和id属性

    label标签for属性的值应该和input标签中id属性的值一致,这样这两个表单控件就会被关联起来。如下,这里将label关联到input上。

    <form>
    
     <label for="student_name">学生姓名</label>
    
     <input type="text" id="student_name">
    
     <input type="submit" value="保存">
    
    </form>

    for属性

    当我们点击文本标签"学生姓名"时候,文本框会自动获取输入光标,等待用户输入数据。

    4、input标签的type属性

    type属性决定input标签显示成什么样子,type属性种类很多,如下:

     <form>
    
     <input type="text">
    
     <input type="checkbox">
    
     <input type="radio">
    
     <input type="file">
    
     <input type="password">
    
     <input type="submit">
    
     <input type="reset">
    
     </form>

    5、文本区域

    input文本框标签可以接受少量的单行文本,textarea标签可以接受用户输入的多行文本,如下,和input标签不同,textarea标签必须有开始标签和结束标签。

    <label for="summary">总结</label>
    
     <textarea id="summary" cols="30" rows="10"></textarea>

    文本区域

    6、下拉列表

    使用select标签和option标签创建下拉列表

    <select name="" id="">
    
     <option value="">男</option>
    
     <option value="">女</option>
    
     </select>

    综合示例:

    <h2>学生信息</h2>
    
     <form action="success.html">
    
     <label for="student-name">姓名</label>
    
     <input type="text" id="student-name" value=""><br>
    
     <label for="photos">上传照片</label>
    
     <input type="file" id="photos"><br>
    
     <label for="">性别</label>
    
     <input type="radio" name="gender" id="male" checked><label for="male">男</label>
    
     <input type="radio" name="gender" id="female"><label for="female">女</label><br>
    
     <label for="">班级</label>
    
     <select name="" id="">
    
     <option value="">一班</option>
    
     <option value="" selected>二班</option>
    
     <option value="">三班</option>
    
     <option value="">四班</option>
    
     </select><br>
    
     <label for="teacher-comments">老师评语</label>
    
     <textarea name="" id="teacher-comments" cols="30" rows="10"></textarea><br>
    
     <input type="checkbox" id="pass" checked>
    
     <label for="pass">考试通过</label><br>
    
     <input type="submit" value="提交">
    
     <input type="reset" value="重新填写">
    
     </form>

    html表单

    每天进步一点点,跟着教头学开发。