讲师中心 微信公众号
AI工具推荐 视频效率加速

html5指南-2.如何操作document metadata_html5教程技巧

酷宇君_3734

酷宇君_3734

发布时间:2016-05-16 15:50:15

|

1588人浏览过

|

来源于php中文网

原创

今天的内容是关于如何操作document对象。
1.操作Document Metadata
首先我们来看看相关的属性:
characterSet:获取当前document的编码方式,该属性为只读;
charset:获取或者设置当前document的编码方式;
compatMode:获取当前document的兼容模式;
cookie:获取或者设置当前document的cookie对象;
defaultCharset:获取浏览器默认的编码方式;
defaultView:获取当前当前document的window对象;
dir:获取或者设置当前document的文本对齐方式;
domain:获取或者设置当前document的domian值;
implementation:提供所支持的dom特性的信息;
lastModified:获取document最后的修改时间(如果没有最后修改时间,则返回当前时间);
location:提供当前document的url信息;
readyState:返回当前document的状态,该属性是只读属性;
referrer: 返回连接到当前document的document url信息;
title:获取或者设置当前document的title。
来看下面的例子:

复制代码
代码如下:




example


<script type="text/javascript"> <br />document.writeln('<pre class="brush:php;toolbar:false;">'); &lt;br /&gt;document.writeln('characterSet:' + document.characterSet); &lt;br /&gt;document.writeln('charset:' + document.charset); &lt;br /&gt;document.writeln('compatMode:' + document.compatMode); &lt;br /&gt;document.writeln('defaultCharset:' + document.defaultCharset); &lt;br /&gt;document.writeln('dir:' + document.dir); &lt;br /&gt;document.writeln('domain:' + document.domain); &lt;br /&gt;document.writeln('lastModified:' + document.lastModified); &lt;br /&gt;document.writeln('referrer:' + document.referrer); &lt;br /&gt;document.writeln('title:' + document.title); &lt;br /&gt;document.write('</pre>'); <br /></script>



结果(不同浏览器显示的结果可能不一样):


2.如何理解兼容模式
compatMode属性告诉你浏览器是如何处理当前document的。有太多不标准的html了,浏览器会试图显示这些页面,即使他们不符合html规范。有些内容依赖于早先浏览器大战时所存在的独特的特性,而这些属性石不符合规范的。compatMode会返回一个或两个值,如下:
CSS1Compat:document符合一个有效的html规范(不一定是html5,验证的html4页面同样返回这个值);
BackCompat:document包含不符合规范的特性,触发了兼容模式。
3.使用Location对象
document.location返回一个Location对象,向你提供细粒度的document的地址信息,同时允许你导航到其他document。
protocol:获取或者设置document url的协议;
host:获取或者设置document url的主机信息;
href:获取或者设置document的地址信息;
hostname:获取或者设置document的主机名;
search:获取或者设置document url查询部分的信息;
hash:获取或者设置document url hash部分的信息;
assign():导航到一个指定url;
replace():移除当前document,导航到指定的url;
reload():重新加载当前document;
resolveURL():将相对路径变为绝对路径。
来看下面的例子

复制代码
代码如下:







<script type="text/javascript"> <br />document.writeln('<pre class="brush:php;toolbar:false;">'); &lt;br /&gt;document.writeln('protocol:' + document.location.protocol); &lt;br /&gt;document.writeln('host:' + document.location.host); &lt;br /&gt;document.writeln('hostname:' + document.location.hostname); &lt;br /&gt;document.writeln('port:' + document.location.port); &lt;br /&gt;document.writeln('pathname:' + document.location.pathname); &lt;br /&gt;document.writeln('search:' + document.location.search); &lt;br /&gt;document.writeln('hash:' + document.location.hash); &lt;br /&gt;document.writeln('</pre>'); <br /></script>



结果:

code-documentation-code-explain
code-documentation-code-explain

您是一位代码教育专家,擅长通过清晰的叙述、可视化图表和逐步分解来讲解复杂代码。将困难的概念转化为易于理解的知识。

下载

4.读写cookie
通过cookie属性,可以对document的cookie进行新增,修改和读取操作。如下例:

复制代码
代码如下:




Example









<script type="text/javascript"> <br />var cookieCount = 0; <br />document.getElementById('update').onclick = updateCookie; <br />document.getElementById('write').onclick = createCookie; <br />document.getElementById('clear').onclick = clearCookie; <br />readCookies(); <br />function readCookies() { <br />document.getElementById('cookiedata').innerHTML = !document.cookie ? '' : document.cookie; <br />} <br />function updateCookie() { <br />document.cookie = 'cookie_' + cookieCount + '=update_' + cookieCount; <br />readCookies(); <br />} <br />function createCookie() { <br />cookieCount++; <br />document.cookie = 'cookie_' + cookieCount + '=value_' + cookieCount; <br />readCookies(); <br />} <br />function clearCookie() { <br />var exp = new Date(); <br />exp.setTime(exp.getTime() - 1); <br />var arrStr = document.cookie.split("; "); <br />for (var i = 0; i < arrStr.length; i++) { <br />var temp = arrStr[i].split("="); <br />if (temp[0]) { <br />document.cookie = temp[0] + "=;expires=" + exp.toGMTString(); <br />}; <br />} <br />cookieCount = 0; <br />readCookies(); <br />} <br /></script>



结果:


5.理解ReadyState
document.readyState帮助你了解页面加载和解析过程中,页面所处的当前状态。需要记住的一点是,浏览器当遇到script元素时会立即执行,除非你使用defer属性延时脚本的执行。readyState有三个值代表不同的状态。
loading:浏览器正在加载和执行document;
interactive:docuent已经完成解析,但是浏览器正在加载其他外部资源(media,图片等);
complete:页面解析完成,外部资源在家完毕。
在浏览器整个加载和解析的过程中,readyState的值会从loading,interactive和complete逐个改变。当结合readystatechange事件(readyState状态改变时触发)使用,readyState会变得相当有价值。

复制代码
代码如下:




Example


<script> <br />document.onreadystatechange = function () { <br />if (document.readyState == "interactive") { <br />document.getElementById("pressme").onclick = function () { <br />document.getElementById("results").innerHTML = "Button Pressed"; <br />} <br />} <br />} <br /></script>



 



上面的代码使用readystatechange事件实现了延时执行的效果,只有当页面上整个页面解析接触之后readystate的值才会变成interactive,这时再为pressme按钮绑定click事件。这样操作可以确保所需要的html元素都存在,防止错误发生。
6.获取dom属性实现的信息
document.implementation属性帮助你了解浏览器对dom属性的实现情况。该属性返回DOMImplementation对象,对象包含hasFeature方法,你可以通过该方法了解浏览器对某属性的实现情况。

复制代码
代码如下:




Example




<script> <br />var features = ["Core", "HTML", "CSS", "Selectors-API"]; <br />var levels = ["1.0", "2.0", "3.0"]; <br />document.writeln("<pre class="brush:php;toolbar:false;">&quot;); &lt;br /&gt;for (var i = 0; i &lt; features.length; i++) { &lt;br /&gt;document.writeln(&quot;Checking for feature: &quot; + features[i]); &lt;br /&gt;for (var j = 0; j &lt; levels.length; j++) { &lt;br /&gt;document.write(features[i] + &quot; Level &quot; + levels[j] + &quot;: &quot;); &lt;br /&gt;document.writeln(document.implementation.hasFeature(features[i], levels[j])); &lt;br /&gt;} &lt;br /&gt;} &lt;br /&gt;document.write(&quot;</pre>") <br /></script>



效果:

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

相关专题

更多
AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

140

2026.09.16

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

60

2026.09.16

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

60

2026.09.16

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

40

2026.09.16

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

40

2026.09.16

GDB怎么设置断点
GDB怎么设置断点

本专题介绍GDB按照函数名、源代码行号和文件位置设置断点的方法,详细说明run、continue、next、step等命令的配合使用,帮助定位程序崩溃、逻辑异常及代码未按预期执行的问题。

360

2026.09.11

GDB怎么查看变量值
GDB怎么查看变量值

本专题介绍GDB调试过程中查看变量值的具体方法,涵盖局部变量、函数参数、数组、结构体和指针内容查询,同时整理变量持续显示、格式化输出及无法读取变量时的排查思路。

120

2026.09.11

GDB C++程序怎么调试
GDB C++程序怎么调试

本专题围绕GDB调试C++程序的实际过程,详细说明程序编译、调试器启动、命令行参数传入、断点命中和程序继续运行等步骤,并介绍条件断点、临时断点和观察点的设置方法,方便开发者跟踪复杂代码的执行状态。

140

2026.09.11

Iris框架MVC架构与依赖注入合集
Iris框架MVC架构与依赖注入合集

本专题讲解Iris框架MVC开发模式,包含控制器注册、方法命名与路径映射、By参数绑定、BeforeActivation自定义路由,以及依赖注入容器注册、数据库依赖注入、返回值序列化及MVC下WebSocket与gRPC整合实践。

80

2026.09.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn