高仿要点:

  • 关键词高亮
  • 命中数
  • scroll到第一块命中的内容

    #1.获取页面body内容
oldBody=document.body.innerHTML

#2.js正则前瞻后顾(参考)body中的keyword,为关键词加上样式,正则部分表示:keyword前面是>开头,然后匹配多个非<,>其它字符,然后匹配关键词,关键词后匹配多个非<,>其它字符,再匹配一个<

keword='成都'
newBody=oldBody.replace(new RegExp(eval('/(?<=(>[^<>]*))'+keyword+'(?=([^<>]*<))/ig')),'<span style="color:red;background-color:yellow" class="myhighlight">'+keyword+'</span>')


#3.将替换后newbody替换页面的body,效果OK

document.body.innerHTML=newBody


#4.通过自定义的class获取命中数

document.getElementsByClassName('myhighlight').length


#5.屏幕滚动到第一个高亮处。定义一个计算元素距离顶部距离的函数,最后通过window.scrollTo跳到滚动到位置

function calcHeight2Top(ele){let h=0while(ele!=document.body){h+=ele.offsetTopele=ele.offsetParent}return h;
}
first=document.getElementsByClassName('myhighlight')[0]
window.scrollTo(calcHeight2Top(first),first.offsetLeft)

原生js高仿浏览器ctrf+f相关推荐

  1. 【笔记-vue】《imooc-vue.js高仿饿了么》、《imooc-vue 音乐app》、《imooc-vue.js源码全方位解析》

    20170709 - 20171128:<imooc-vue.js高仿饿了么> 一.第一章 课程简介 1-1课程简介 1.需求分析-脚手架工具-数据mock-架构设计-代码编写-自测-编译 ...

  2. Vue.js高仿饿了么外卖App学习记录

    (给达达前端加星标,提升前端技能) 开发一款vue.js开发一款app,使用vue.js是一款高效的mvvm框架,它轻量,高效,组件化,数据驱动等功能便于开发.使用vue.js开发移动端app,学会使 ...

  3. 使用原生开发高仿瑞幸小程序(一):使用 Vant 组件库和配置多页面

    本文由图雀社区认证作者 曾伟@喵先森 写作而成,图雀社区将连载其 使用原生开发高仿瑞幸小程序系列,点击阅读原文查看作者的 infoQ 链接,感谢作者的优质输出,让我们的技术世界变得更加美好???? 源 ...

  4. js html颜色代码,原生js编写的浏览器安全色网页拾色器色盘 生成颜色代码

    原生js编写的浏览器安全色网页拾色器 by js.alixixi.com #abc-colorPicker .colorPick-close,#filter-colorPicker .colorPic ...

  5. 原生Java高仿抖音短视频APP双端源码

    简介: 从别的网站199购买的原生Java高仿抖音短视频APP双端源码,免费给大家~ 源码未测试,java开发,上手有难度,小白童鞋请勿瞎捣鼓. 安卓语言是:android stdio 苹果语言是:O ...

  6. 【原生JS】仿新浪微博名片弹框

    [原生JS]仿新浪微博名片弹框  博客已经搬家地址:http://cm2009.sinaapp.com/ 第一次用原生JS写小功能,有很多不足的地方,例如事件绑定没有使用事件委托功能,而是直接用零级D ...

  7. vue结合饿了么_Vue.js 高仿饿了么外卖app 全套_IT教程网

    资源名称:Vue.js  高仿饿了么外卖app  全套 资源目录: vue仿饿了么视频全套 全套 资源 │ files.txt │ project.zip │ resource.zip │ ├─第01 ...

  8. 项目:Vue.js高仿饿了吗外卖APP(一)

    Vue.js高仿饿了吗外卖APP核心知识 使用Vue.js作为项目的技术栈!这是目前最火的MVVM框架(之一),轻量.简洁.高效.数据驱动.组件化的优点,被大家称为"简单却不失优雅,小巧而不 ...

  9. vue.js高仿饿了吗实现tips

    @[TOC]vue.js高仿饿了吗实现tips 高仿饿了吗–tip1 动态评星 目标:根据商家的星级生成指定的五行样式 注意点 无论星级多少,星星的个数都是五颗,所以利用v-for循环生成 利用内联标 ...

  10. 纯html+css+js高仿苹果手机时钟小组件

    话不多数说,这是一款用html+css+js开发的高仿苹果手机时钟组件, 作者将苹果的小组件移植到浏览器插件中,可以在BdTab插件安装该组件 HTML <div style="wid ...

最新文章

  1. 【天津大学主办|EI稳定检索】第三届无线通信与智能电网国际会议,学术大咖邀您共聚杭州!...
  2. 安装memory analyzer
  3. html中after伪类原理,css :after伪类+content使用说明和方法
  4. 设置numpy的随机种子
  5. 构思新巧的173dmba飞鸽
  6. python怎么定义一个变量为空列表_python – 为什么一个类变量没有在列表理解中定义,但另一个是?...
  7. 树莓派禁用SD卡上的swap交换空间
  8. error: ‘_beginthreadex‘ undeclared (first use in this function); did you mean ‘SDL_beginthread‘?
  9. oracle 12c sp2 0667,关于数据库安装的问题SP2-0667: Message file sp1.msb not found
  10. 云优CMS采集不需要云优CMS授权
  11. windows下sakai配置过程
  12. 今日头条php笔试题,今日头条笔试题回顾及个人答案参考
  13. 今天我们来聊一个很高级的话题:如何设计一个大规模远程命令执行系统
  14. PHP资源汇总,内容包括:库、框架、模板等
  15. Zookeeper + ActiveMQ 集群整合
  16. 2018年,硅谷的P2P公司们为啥没跑路?
  17. redis cli命令详解
  18. python wms系统源码_jeewms仓库管理系统 v2.4.0
  19. 剑指offer——二十六进制和十进制的相互转换
  20. AtCoder Beginner Contest 236 A-D题解

热门文章

  1. 字节跳动智力题-推理题
  2. python画猫和老鼠代码_Python实现猫捉老鼠小游戏!虽然简陋但是童真永在!
  3. JavaScript实现的手风琴图片切换,鼠标悬停任意图片html前端源码
  4. nas存储用网线直连服务器,NAS将存储设备通过标准的网络拓扑结构连接,无需服务器直接上网...
  5. 稀疏矩阵存储格式总结+存储效率对比:COO,CSR,DIA,ELL,HYB
  6. app安全评估报告,如何搞定呢?!
  7. android web 爬虫,Android学习——Jsoup实现网络爬虫,爬取贤集网
  8. 哈希表查找 的 平均长度
  9. 基于强化学习的路径规划学习
  10. fluent udf dpm 捕集效率