`
ccw5510
  • 浏览: 8060 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JavaScript 用搜索引擎引用高亮页面关键字

阅读更多

  当在使用大多数的网页搜索引擎的“网页快照”功能时,都会在返回的快照页面中加入关键字高亮的功能。这将非常方便查找网页中被检索的内容,其中 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关键字高亮代码

    这种功能在搜索引擎结果页面、文档阅读器和在线编辑器中非常常见。文档中通过JavaScript实现了简单的关键词高亮功能。 #### HTML结构 文档首先定义了一个基本的HTML结构,包括`&lt;!DOCTYPE html&gt;`声明、`&lt;html&gt;`标签...

    jquerymark强大的jQuery关键字文本高亮插件

    除了基础的精确匹配,该插件还能识别和高亮同义词,这在搜索引擎优化或全文检索应用中非常有用。用户可以自定义同义词库,提高搜索的广度和准确性。 3. **自定义元素**: `jquery.mark`允许用户指定在哪些HTML...

    javascript网页关键字高亮代码.docx

    JavaScript网页关键字高亮是一种常见的网页交互效果,常用于搜索引擎结果展示、阅读器或者代码编辑器中,以便用户能快速定位到他们关心的关键信息。以下是一个简单的JavaScript实现关键字高亮的代码示例,以及相关的...

    jQuery.Mark插件实现搜索高亮显示文本关键字特效源码.zip

    - **搜索引擎**:在搜索结果页中,使用jQuery.Mark高亮显示搜索词,提高用户体验。 - **阅读器**:在文章阅读界面,高亮用户已读的部分。 - **数据可视化**:在报告或仪表盘中,突出显示重要的数值或指标。 - **教育...

    百度全文内容关健搜索,关键字高亮显示出来

    在IT行业中,全文内容的关键字搜索与高亮显示是一项常用且重要的功能,尤其在搜索引擎、文档管理系统以及在线阅读平台等领域。这个功能可以帮助用户快速定位到他们关心的信息,提高信息检索的效率。以下将详细讲解这...

    javascript网页关键字高亮代码

    - 在搜索引擎结果页面中突出显示搜索关键词。 - 文档阅读器或在线阅读网站中,突出显示用户感兴趣的内容。 - 论坛或博客平台,用于突出显示特定话题或用户的发言。 #### 三、技术原理分析 1. **关键词定义**: ...

    a-z列表快速查找+搜索关键字高亮demo

    这种功能常见于搜索引擎、文本编辑器和许多Web应用中。高亮显示可以帮助用户快速识别和理解搜索结果,提高阅读效率。在实现上,可以使用正则表达式来查找和替换关键字,或者通过遍历文本并添加特殊样式(如背景色、...

    JavaScript实现关键字高亮功能

    2. **应用场景**:高亮功能常见于搜索引擎返回的搜索结果页面,帮助用户快速定位到搜索内容。 3. **实现原理**:通过JavaScript操作DOM,查找页面中的指定元素,并对其中的文字进行样式上的修改以达到高亮效果。 4...

    jQuery过滤HTML标签并高亮显示关键字的方法

    在实际的网页设计中,这一功能可以用于搜索引擎的搜索结果页面,或者在文章内容中高亮显示用户搜索的关键字等场景。 在文档中提供的示例代码中,首先引入了jQuery库。接着,在文档加载完成后,使用jQuery的$...

    仿Google的搜索下拉框从数据库读取关键字,并显示查询的结果

    标题中的“仿Google的搜索下拉框从数据库读取关键字,并显示查询的结果”是指实现一个类似于Google搜索引擎的用户界面功能,该功能可以在用户输入搜索词时动态从数据库中获取匹配的关键字,并在下拉框中展示。...

    js 关键词高亮(根据ID/tag高亮关键字)案例介绍

    JavaScript中的关键词高亮是一种常见的文本处理技术,常用于搜索引擎结果展示、代码编辑器或文档预览等场景。它能够帮助用户快速识别和定位关键信息,提高阅读效率。本案例主要介绍如何实现根据ID和Tag名高亮关键词...

    帝国CMS实现搜索结果显示页关键字高亮的方法

    在使用帝国CMS的搜索引擎功能时,通常搜索结果页面显示的关键字没有高亮显示,这可能会导致用户难以快速找到他们所寻找的信息,从而影响用户体验。为了提高用户体验,本文将介绍如何通过修改帝国CMS的搜索结果显示页...

    jquery搜索引擎

    jQuery搜索引擎是一种基于JavaScript库jQuery实现的高效搜索功能。jQuery是一个广泛使用的开源JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及Ajax交互。由于其轻量级、跨浏览器兼容性和丰富的插件生态...

    分页和关键字查询

    4. **查询性能优化**:通过索引、全文搜索引擎(如Elasticsearch)或其他优化策略,提高查询效率,避免大数据量下的性能瓶颈。 5. **查询结果分页**:如果查询结果过多,同样需要分页显示,结合分页技术,提供良好...

    php 多关键字 高亮显示实现代码

    这项技术常用于搜索引擎、论坛系统等场景中,以帮助用户快速定位到他们感兴趣的内容部分。 #### 项目背景与目标 本项目的目标是通过PHP编程语言来开发一个简单的应用,该应用能够接受用户的输入(即搜索关键字),...

    ASP源码—Movie34电影搜索引擎.zip

    6. 搜索引擎设计:电影搜索引擎可能包含关键字搜索、分类过滤等功能。这需要对用户输入的查询进行处理,然后在数据库中执行相应的SQL查询来获取匹配的电影信息。可能还涉及分页显示、排序和高亮显示搜索关键词等高级...

    javascript 自动标记来自搜索结果页的关键字

    这通常用在搜索引擎返回的结果页面上,帮助用户在大量文本中迅速找到他们搜索的关键词。 2. JavaScript实现方式:通过编写JavaScript脚本代码,在客户端直接处理DOM(文档对象模型),查找搜索结果页上的关键词,...

    11个代码高亮的实现方法(转)

    - 确保在代码高亮的同时,仍保持代码的可读性,这对搜索引擎抓取和屏幕阅读器用户非常重要。 - 可以在代码段中添加适当的HTML标签(如`&lt;code&gt;`和`&lt;pre&gt;`),以提高无障碍性。 综上所述,代码高亮是一个多方面的...

    JQuery+JS实现仿百度搜索结果中关键字变色效果

    在百度等搜索引擎中,这个功能可以帮助用户快速定位到搜索词所在的句子或段落。 文章给出的代码示例是如何通过JQuery和JavaScript实现上述功能的。代码中涉及到的知识点主要包括: 1. JavaScript的基本语法,如...

    jquery text文本框搜索段落文本关键词文字高亮显示

    这个功能在很多场合都非常实用,比如搜索引擎结果预览、文档阅读器或在线教育平台。 首先,我们需要创建一个HTML结构,包括一个输入框(用于输入搜索关键字)和一些段落(包含待搜索的文本)。例如: ```html &lt;!...

Global site tag (gtag.js) - Google Analytics