当在使用大多数的网页搜索引擎的“网页快照”功能时,都会在返回的快照页面中加入关键字高亮的功能。这将非常方便查找网页中被检索的内容,其中 google 快照的关键字高亮还融入了分词功能,不同的词以不同的颜色显示。可是由于其他的原因,google 的网页快照非常的不稳定,那么就需要自己加上这个关键字的高亮功能。
代码主要使用了,onLoad 事件、document.referrer 属性以及字符串对象 indexOf 方法和 split 方法,主要功能和用法如下。
• 当页面完全载入时,onLoad 事件会被触发,该事件可以调用相应的函数,作为其事件处理函数。在函数中,可以是任意合法的JavaScript代码。
• document.referrer 返回用户用于冲浪至当前文档的地址。如果当前文档是首页或是通过键入 URI 到达的页面,那么这个属性返回空字符串。
• indexOf 方法返回 String 对象内第一次出现子字符串的字符位置。indexOf 方法返回一个整数值,指出String对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。如果 startIndex 是负数,则 startIndex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。从左向右执行查找。否则,该方法与 lastIndexOf 相同。
• split 方法将一个字符串分割为子字符串,然后将结果作为字符串数组返回,该方法的结果是一个字符串数组,在 stingObj 中每个出现 sparator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>利用搜索引擎引用高亮页面关键字</title>
<script language="javascript">
function FriendlyDisplayForSearch()
{
var url = document.referrer; //根据来路地址创建一个新的UrlBuilder对象
var host = url.toLowerCase(); //得到主机名
//if(host.indexOf('.google.') != -1) //如果是google搜索引擎过来的
if(true)
{
var keywords = 'JavaScript'; //得到搜索关键字
if(keywords) //如果存在关键字
{
var ht = new HighlightText(); //创建高亮文本对象
ht.Execute(keywords); //执行高亮文本
}
}
else if(host.indexOf('.baidu.') != -1)
{
}
}
function HighlightText(range) //函数:高亮文本
{
if(range) //如果存在range
{
this.m_Range = range; //范围赋值
}
else //否则
{
this.m_Range = document.body.createTextRange();
}
this.m_Keyword = '';
this.toString = function()
{
return '[class HighlightText]';
};
}
HighlightText.prototype.Execute = function(keyword) //高亮执行的原型函数
{
if(keyword) //如果存在关键字
{
this.m_Keyword = keyword; //关键字赋值
}
if(this.m_Range && this.m_Keyword) //如果存在域和关键字
{
var separater = '';
if(this.m_Keyword.indexOf(' ') == -1) //如果关键字存在空格符
{
separater = '+'; //分隔符赋值
}
var keywords = this.m_Keyword.split(separater); //根据分隔符分离关键字
var bookmark = this.m_Range.getBookmark();
for(var i=0; i<keywords.length; ++i) //循环遍历关键字
{
var keyword = keywords[i];
if(keyword && keyword.length > 1)
{
while(this.m_Range.findText(keywords[i])) //文本中存在关键字
{
//高亮关键字
this.m_Range.execCommand('ForeColor', 'false', '#FFFFFF'); //参数中的 ForeColor 用来设置或获取当前选区的前景(文本)颜色
this.m_Range.execCommand('BackColor', 'false', '#FF0000'); //BackColor 用来设置或获取当前选区的背景颜色
this.m_Range.collapse(false);
}
this.m_Range.moveToBookmark(bookmark); //赋值文本
}
}
}
}
</script>
</head>
<body onLoad="FriendlyDisplayForSearch()">
<center>
<h1>利用搜索引擎引用高亮页面关键字</h1>
<hr>
<br>
<p>JavaScript 使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。
JavaScript能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。JavaScript
的特点是无穷无尽的,只要你有创意。</P>
</center>
</body>
</html>
运行该程序后,页面出现一段文本文字,如下图所示。如果是通过搜索引擎找到进入这个页面的话,就会根据搜索引擎上的关键字来高亮显示搜索的文本,如下图所示。
转载地址:http://www.xuekaifa.com/article/20101024/000246.html
分享到:
相关推荐
这种功能在搜索引擎结果页面、文档阅读器和在线编辑器中非常常见。文档中通过JavaScript实现了简单的关键词高亮功能。 #### HTML结构 文档首先定义了一个基本的HTML结构,包括`<!DOCTYPE html>`声明、`<html>`标签...
除了基础的精确匹配,该插件还能识别和高亮同义词,这在搜索引擎优化或全文检索应用中非常有用。用户可以自定义同义词库,提高搜索的广度和准确性。 3. **自定义元素**: `jquery.mark`允许用户指定在哪些HTML...
JavaScript网页关键字高亮是一种常见的网页交互效果,常用于搜索引擎结果展示、阅读器或者代码编辑器中,以便用户能快速定位到他们关心的关键信息。以下是一个简单的JavaScript实现关键字高亮的代码示例,以及相关的...
- **搜索引擎**:在搜索结果页中,使用jQuery.Mark高亮显示搜索词,提高用户体验。 - **阅读器**:在文章阅读界面,高亮用户已读的部分。 - **数据可视化**:在报告或仪表盘中,突出显示重要的数值或指标。 - **教育...
在IT行业中,全文内容的关键字搜索与高亮显示是一项常用且重要的功能,尤其在搜索引擎、文档管理系统以及在线阅读平台等领域。这个功能可以帮助用户快速定位到他们关心的信息,提高信息检索的效率。以下将详细讲解这...
- 在搜索引擎结果页面中突出显示搜索关键词。 - 文档阅读器或在线阅读网站中,突出显示用户感兴趣的内容。 - 论坛或博客平台,用于突出显示特定话题或用户的发言。 #### 三、技术原理分析 1. **关键词定义**: ...
这种功能常见于搜索引擎、文本编辑器和许多Web应用中。高亮显示可以帮助用户快速识别和理解搜索结果,提高阅读效率。在实现上,可以使用正则表达式来查找和替换关键字,或者通过遍历文本并添加特殊样式(如背景色、...
2. **应用场景**:高亮功能常见于搜索引擎返回的搜索结果页面,帮助用户快速定位到搜索内容。 3. **实现原理**:通过JavaScript操作DOM,查找页面中的指定元素,并对其中的文字进行样式上的修改以达到高亮效果。 4...
在实际的网页设计中,这一功能可以用于搜索引擎的搜索结果页面,或者在文章内容中高亮显示用户搜索的关键字等场景。 在文档中提供的示例代码中,首先引入了jQuery库。接着,在文档加载完成后,使用jQuery的$...
标题中的“仿Google的搜索下拉框从数据库读取关键字,并显示查询的结果”是指实现一个类似于Google搜索引擎的用户界面功能,该功能可以在用户输入搜索词时动态从数据库中获取匹配的关键字,并在下拉框中展示。...
JavaScript中的关键词高亮是一种常见的文本处理技术,常用于搜索引擎结果展示、代码编辑器或文档预览等场景。它能够帮助用户快速识别和定位关键信息,提高阅读效率。本案例主要介绍如何实现根据ID和Tag名高亮关键词...
在使用帝国CMS的搜索引擎功能时,通常搜索结果页面显示的关键字没有高亮显示,这可能会导致用户难以快速找到他们所寻找的信息,从而影响用户体验。为了提高用户体验,本文将介绍如何通过修改帝国CMS的搜索结果显示页...
jQuery搜索引擎是一种基于JavaScript库jQuery实现的高效搜索功能。jQuery是一个广泛使用的开源JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及Ajax交互。由于其轻量级、跨浏览器兼容性和丰富的插件生态...
4. **查询性能优化**:通过索引、全文搜索引擎(如Elasticsearch)或其他优化策略,提高查询效率,避免大数据量下的性能瓶颈。 5. **查询结果分页**:如果查询结果过多,同样需要分页显示,结合分页技术,提供良好...
这项技术常用于搜索引擎、论坛系统等场景中,以帮助用户快速定位到他们感兴趣的内容部分。 #### 项目背景与目标 本项目的目标是通过PHP编程语言来开发一个简单的应用,该应用能够接受用户的输入(即搜索关键字),...
6. 搜索引擎设计:电影搜索引擎可能包含关键字搜索、分类过滤等功能。这需要对用户输入的查询进行处理,然后在数据库中执行相应的SQL查询来获取匹配的电影信息。可能还涉及分页显示、排序和高亮显示搜索关键词等高级...
这通常用在搜索引擎返回的结果页面上,帮助用户在大量文本中迅速找到他们搜索的关键词。 2. JavaScript实现方式:通过编写JavaScript脚本代码,在客户端直接处理DOM(文档对象模型),查找搜索结果页上的关键词,...
- 确保在代码高亮的同时,仍保持代码的可读性,这对搜索引擎抓取和屏幕阅读器用户非常重要。 - 可以在代码段中添加适当的HTML标签(如`<code>`和`<pre>`),以提高无障碍性。 综上所述,代码高亮是一个多方面的...
在百度等搜索引擎中,这个功能可以帮助用户快速定位到搜索词所在的句子或段落。 文章给出的代码示例是如何通过JQuery和JavaScript实现上述功能的。代码中涉及到的知识点主要包括: 1. JavaScript的基本语法,如...
这个功能在很多场合都非常实用,比如搜索引擎结果预览、文档阅读器或在线教育平台。 首先,我们需要创建一个HTML结构,包括一个输入框(用于输入搜索关键字)和一些段落(包含待搜索的文本)。例如: ```html <!...