今天是:
首 页信息查询网站SEO查询工具CSS编辑器建站素材
网海拾贝,电脑资讯,电脑快报,it资讯,网站建设资讯,教程基地
软件新闻
操作系统
Vista Winxp Win2003 Linux Windows综合
工具软件
系统工具 媒体工具 网络工具 杀毒软件 聊天
软件开发
C教程 C++ Java C# ASP.NET JSP PHP
数据库
Oracle MySQL DB2 SQL Server Sybase
安全
网络 病毒
办公应用
Word Excel Powerpoint Outlook 其他
平面设计
Photoshop Fireworks Coreldraw Flash Illustrator 3dsmax
网站运营
网站运营 网站优化 网站策划 策划书下载 建站心得 站长故事 网站盈利 网页制作 网页特效 建站素材 免费资源 QQ频道
  当前位置:首 页 >> 网页制作 >> Javascript/Ajax >> 利用搜索引擎引用来高亮页面关键字

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

  发布于2006-03-07 21:31 来源:网络

     当我们在使用大多数的网页搜索引擎的"网页快照"功能时,他们都会在返回的快照页面中加入关键字高亮的功能。这将非常方便我们查找网页中被检索的内容,其中google快照的关键字高亮还融入了分词功能,不同的词着以不同的颜色。可是由于%!#^*& $!的原因,google的网页快照非常的不稳定,那么我们就自己来加上这个关键字高亮功能吧。

    如下图,当我们在google中搜索了关键字:apache asp.net后的结果:

   点击结果的连接并导航到我们自己的页面后,如果我们加以如下关键字高亮,是否会对用户快速查找和定位页面感兴趣的内容,提供方便呢?

    按么我们来仔细的看看,可是IE中的地址明明是:http://birdshome.cnblogs.com/archive/2005/11/17/Apache.html,那么怎么能在页面中高亮由搜索引擎检索的关键字呢?这里我们是利用了document的referrer属性来获取搜索引擎类型和关键字信息的。比如上例中,document.referrer属性就为:http://www.google.com/search?hl= ... _zh-CN%7Clang_zh-TW。我们通过JavaScript分析出指定搜索引擎的关键字,再操作页面DOM对象就实现了高亮的功能。不过对于较长的连续中文关键字,这种客户端高亮方案是不可能提供分词功能的,也算是美中不足了。

    具体实现当前页面被检索关键字高亮的代码如下,放入页面的document.body.onload事件中调用就行了:)

以下代码片段:
function FriendlyDisplayForSearch()<BR>{<BR>    var url = new UrlBuilder(document.referrer);<BR>    if ( url.m_Success )<BR>    {<BR>         var host = url.m_Host.toLowerCase();<BR>         if ( host.indexOf('.google.') != -1 )<BR>         {<BR>             var keywords = url.GetValue('q', 'UTF8');<BR>             if ( keywords )<BR>             {<BR>                  var ht = new HighlightText();<BR>                  ht.Execute(keywords);<BR>             }<BR>         }<BR>         else if ( host.indexOf('.baidu.') != -1 )<BR>         {<BR>        <BR>         }    <BR>    }   <BR>}// 由于编码和使用频率的关系,目前只做了google搜索引擎</P> <P>function HighlightText(range)<BR>{<BR>    if ( range )<BR>    {<BR>         this.m_Range = range;<BR>    }<BR>    else<BR>    {<BR>         this.m_Range = document.body.createTextRange();<BR>    }     <BR>    this.m_Keyword = '';<BR>    <BR>    this.toString = function()<BR>    {<BR>         return '[class HightlightText]';<BR>    };       <BR>}</P> <P>HighlightText.prototype.Execute = function(keyword)<BR>{<BR>     if ( keyword )<BR>     {<BR>          this.m_Keyword = keyword;<BR>     }<BR>     if ( this.m_Range && this.m_Keyword )<BR>     {<BR>         var separater = ' ';<BR>         if ( this.m_Keyword.indexOf(' ') == -1 ) <BR>         {<BR>              separater = '+';<BR>         }   <BR>         var keywords = this.m_Keyword.split(separater); <BR>         var bookmark = this.m_Range.getBookmark();             <BR>         for ( var i=0 ; i < keywords.length ; ++i )<BR>         {<BR>             var keyword = keywords[i];<BR>             if ( keyword && keyword.length > 1 )<BR>             { <BR>                 while(this.m_Range.findText(keywords[i]))<BR>                 {<BR>                      this.m_Range.execCommand('ForeColor', 'false', 'highlighttext');<BR>                      this.m_Range.execCommand('BackColor', 'false', 'highlight'); <BR>                      this.m_Range.collapse(false);<BR>                 }<BR>                 this.m_Range.moveToBookmark(bookmark);<BR>             }<BR>         }<BR>     }<BR>}


中查找“利用搜索引擎引用来高亮页面关键字”更多相关内容

中查找“利用搜索引擎引用来高亮页面关键字”更多相关内容



上一篇:用JavaScript脚本将当地时间转换成其它时区
下一篇:收集的JavaScript效果---酷
最近更新 赞助商
·图片代替提交和重置按钮12-11
·JavaScript教程:图片切割效果12-10
·JavaScript动态加载CSS的三种方法12-02
·JavaScript语言中的Literal Syntax特性12-02
·JavaScript模仿Apache的ObjectPool12-02
·关于JavaScript的执行域,标识符解析,闭包..12-02
·Javascript教程:拖拽效果研究12-01
·浏览器对Cookie的限制11-10
·JavaScript中的排序函数sort10-28
·初学Javascript的总结10-24
·如何禁止被Iframe?10-16

共有评论 0 条 网友评分 0分 查看所有评论


发表评论→ 学而不思则罔,思而不学则殆,请大胆发表你的见解。

输验证码:

您对此篇文章的评分:1分 2分 3分 4分 5分

  • 站内搜索
关键词

搜索方式

搜索范围

精确匹配
Baidu
网站首页 - 关于本站 - 网站地图 - 广告合作 - 站点声明 - RSS订阅 - 联系我们
Copyright © 2005 网海拾贝.[新ICP备05003216号]. All Rights Reserved .