JavaScript 充实文档内容

JavaScript 充实文档内容

一:简介

使用JavaScript来充实文档内容。主要目的是为现有文档创建一个“缩略语列表”、“文献来源链接”、“快捷键清单”。基本都是前面使用过的函数、没有什么要特别说明的地方。

二:效果图

三:具体内容

HTML的内容的编写可以使用Sublime Text (安装Emmet插件)、或者Jetbrain的Webstorm神器、效率提高N倍。有兴趣的可以百度谷歌Emmet简介。

example.html:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>Enhancing Content</title>
    <link rel="stylesheet" href="../style/example.css" />
    <script src="../js/displayAbbreviations.js"></script>
    <script src="../js/addLoadEvent.js"></script>
    <script src="../js/displayAccessKeys.js"></script>
</head>
<body>
	<ul id="navigation">
		<li><a href="home.html" accesskey="1">Home</a></li>
		<li><a href="Search.html" accesskey="4">Search</a></li>
		<li><a href="Contact.html" accesskey="9">Contact</a></li>
	</ul>
	<h1>What is the Document Object Model?</h1>
	<p>
		The <abbr title="World Wide Web Consortium">W3C</abbr>
	</p>
	<blockquote cite="http://www.w3.org/DOM">
		<p>
			A platform- and language-neutral interface that will allow programs and scripts to dynamically access and update the content, structure and style of documents.
		</p>
	</blockquote>
	<p>
		It is an <abbr title="Application Programming Interface">API</abbr> that can be used to navigate <abbr title="HyperText Markup Language">HTML</abbr>and <abbr title="eXtensible Markup Language">XML</abbr>documents.
	</p>
</body>

</html>

displayAbbreviations.js:

/**
 * Created by andychen on 2015/1/8.
 */

/**
 * Change abbreviations display style.
 */
function displayAbbreviations() {
    if (!document.createElement) {return false;}
    if (!document.createTextNode) {return false;}
    if (!document.getElementsByTagName) {return false;}

	var h2 = document.createElement("h2");
	var h2Text = document.createTextNode("Abbreviations");
	h2.appendChild(h2Text);
    var dl = document.createElement("dl");
    var abbrArray = document.getElementsByTagName('abbr');
    if (abbrArray.length == 0) {return false;}
    for (var i = 0; i < abbrArray.length; i++) {
        //Continue for loop if abbr is not supported by the current browser.
        if (abbrArray[i].childNodes.length < 1) continue;
    	var abbrTitleNode = document.createTextNode(abbrArray[i].title);
    	var abbrTextNode = document.createTextNode(abbrArray[i].firstChild.nodeValue);
    	var dt = document.createElement("dt");
    	var dd = document.createElement("dd");

    	dd.appendChild(abbrTitleNode);
    	dt.appendChild(abbrTextNode);
    	dl.appendChild(dt);
    	dl.appendChild(dd);
    }
	//document.body.appendChild(h2).appendChild(dl);
	document.body.appendChild(h2);
	document.body.appendChild(dl);
}

displayAccessKeys.js:

/**
 * Created by andychen on 2015/1/8.
 */
function displayAccessKeys (){
    if (!document.getElementById) {
        return false;
    }
    if (!document.getElementsByTagName) {
        return false;
    }
    if (!document.createElement) {
        return false;
    }

    var ulNode = document.getElementById("navigation");
    var aList = ulNode.getElementsByTagName("a");
    if (aList.length <= 0) {
        return false;
    }

    var h3 = document.createElement("h3");
    var newUl = document.createElement("ul");
    for (var i = 0; i < aList.length; i++) {
        var current_link = aList[i];
        var current_link_value = current_link.lastChild.nodeValue;
        var current_link_accesskey = current_link.accessKey;
        if (!current_link_accesskey) continue;
        var newLi = document.createElement("li");
        var str = current_link_accesskey + ":" + current_link_value;
        var newALink = document.createElement("a");
        newALink.innerText = str;
        newALink.href = current_link.href;
        newALink.accessKey = current_link_accesskey;
        newLi.appendChild(newALink);
        newUl.appendChild(newLi);
        console.info("accesskey:" + current_link_accesskey)
    }
    var accessKeyTile = document.createTextNode("AccessKey : ");
    h3.appendChild(accessKeyTile);
    document.body.appendChild(h3);
    document.body.appendChild(newUl);
}

addEvent(displayAccessKeys);

addLoadEvent.js:

/**
 * Created by andy on 1/7/2015.
 */

/**
 * Multiple execute window.onload;
 */
function addEvent(fun){
	var oldFunction = window.onload;
	if (!oldFunction) {
		window.onload = fun;
	} else {
		window.onload = function () {
			oldFunction();
			fun();
		}
	}
}

addEvent(displayAbbreviations);

example.css:

body {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 10pt;
}

abbr{
    text-decoration: none;
}
时间: 2024-12-10 14:02:49

JavaScript 充实文档内容的相关文章

DOM学习之充实文档内容

HTML代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>充实文档内容</title> <link rel="stylesheet" href="

【Javascript DOM读书笔记】chapter8 充实文档内容

本章目的 作者举出了第一个实例,为一篇 web 页面动态创建缩略语(abbreviation)的列表.大家知道,我们可以使用 <abbr>...</abbr> 来指示一个缩略语,如 <abbr title="Document Object Model">DOM</abbr>,其中 title 属性指明了缩略语的全称.我们所要做的就是,找出文章中所有的 <abbr> 及其对应的 title,汇总,然后在文档的末尾把缩略语对照表显

JavaScript触发文档事件和窗口事件

转载请注明出处:http://www.uphtm.com/js/128.html 浏览器窗口本身理解一些事件,包括从当载入页面的时候触发的事件,到当访问者离开页面的时候触发的事件: ·load.当Web浏览器完成下载Web页面文件的全部内容之后(HTML文件本身,加上任何链接图像.Flash电影和外部的CSS和JavaScript文件),load事件触发.Web设计师习惯上会使用这个事件来启动操作Web页面的任何程序.然而,如果有很多的图形或者其他较大的链接文件的话,载入一个Web页面及其所有的

JavaScript : DOM文档解析详解

JavaScript DOM  文档解析 1.节点(node):来源于网络理论,代表网络中的一个连接点.网络是由节点构成的集合 <p title=“a gentle reminder”> Don’t forget to buy this stuff.</p> 节点及其类型 元素节点: 属性节点:元素的属性,可以直接通过属性的方式来操作 文本节点:元素节点的子节点,其内容通常为文本 2.Node接口的特性和方法 现在给出一个演示的HTML文件: html <!doctype h

文件与文档内容搜索工具软件

文件与文档内容搜索工具软件: 1.  Mythicsoft   https://mythicsoft.com/welcome 2.  Everything      - 电脑内文件搜索 3.文档大师又名"针式PKM"是一款功能强大.老牌的个人文档管理系统.   http://www.pinpkm.com/

asp.net页面读取word文档内容显示

用asp.net实现对指定word文档内容的读取显示该如何实现?比如左边读取指定文件夹中所有的word文档,以文档的标题作为链接,点击文档标题则在右边某位置显示出该word文档中的内容(包括字体样式,图片显示等). 可以这样实现: 操作WORD配置说明 引入:Word的对象库文件“MSWORD.OLB”(word 2000为MSWORD9.OLB) 1.运行Dcomcnfg.exe 2.组件服务――计算机――我的电脑――DCOM配置――找到microsoft word 文档 3.点击属性 4.选

使用NOPI读取Word、Excel文档内容

使用NOPI读取Excel的例子很多,读取Word的例子不多. Excel的解析方式有多中,可以使用ODBC查询,把Excel作为一个数据集对待.也可以使用文档结构模型的方式进行解析,即解析Workbook(工作簿).Sheet.Row.Column. Word的解析比较复杂,因为Word的文档结构模型定义较为复杂.解析Word或者Excel,关键是理解Word.Excel的文档对象模型. Word.Excel文档对象模型的解析,可以通过COM接口调用,此类方式使用较广.(可以录制宏代码,然后替

java操作office和pdf文件java读取word,excel和pdf文档内容

在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应用.如果想深入了解原理.请读者自行研究一些相关源码. 首先我们来认识一下读取相关文档的jar包: 1. 引用POI包读取word文档内容 poi.jar 下载地址 http://apache.freelamp.com/poi/release/bin/poi-bin-3.6-20091214.zip 

Javascript 在线文档

http://jquery.com/    jQuery http://jqueryui.com/  jQuery UI http://plugins.jquery.com/caret/    输入框文字选择与光标位置处理 http://www.examplet.org/jquery/caret.php  示例代码 http://requirejs.org      require.js http://angularjs.org/   Google 推出的SPA( single-page-app