折腾Chrome插件,简单地让文本上色~

简介: 折腾Chrome插件,简单地让文本上色~

拾起我们的魔杖,现在我们要将用户选择的文字转化为一道高亮的光辉,在网页上留下我们的印记。本章教你如何将“智能笔记”插件提升到新的高度——实现一个功能,允许用户在网页上高亮

manifest.json 更新

首先,我们不需要更新manifest.json文件,因为我们已经在之前的章节中为内容脚本添加了必要的权限和指令。

content.js 更新

现在,我们将为content.js添加高亮选中文本的功能。当用户选择了文本并使用我们的上下文菜单选项时,我们将高亮显示该文本。

// content.js

// 在页面上监听鼠标抬起事件,以获取用户选择的文本
document.addEventListener('mouseup', function() {
  let selectedText = window.getSelection();
  if (selectedText.toString().trim().length > 0) {
    // 用户选择了文本,我们可以在这里处理文本
    // 创建高亮显示
    highlightText(selectedText);
  }
});

// 高亮显示选中的文本
function highlightText(selection) {
  const range = selection.getRangeAt(0);
  const span = document.createElement('span');
  span.style.backgroundColor = 'yellow';
  span.classList.add('highlighted-text'); // 添加类以便我们可以更容易地查询所有高亮的文本
  range.surroundContents(span);
}

content.js中,我们定义了highlightText函数,它接受一个Selection对象作为参数。我们使用getRangeAt(0)获取用户选择的文本范围,然后创建一个新的span元素,并设置背景颜色为黄色以实现高亮效果。最后,我们用这个span包围用户选择的文本。

样式

我们还需要为高亮的文本定义一些基础样式。这可以通过内联样式完成,也可以将样式添加到一个独立的CSS文件中并将其注入页面。

比如,我们可以添加一个styles.css文件:

/* styles.css */
.highlighted-text {
  background-color: yellow; /* 高亮颜色 */
  /* 在这里可以添加更多的样式 */
}

然后,在manifest.json中指定该样式文件被注入:

"content_scripts": [
  {
    "matches": ["<all_urls>"],
    "js": ["content.js"],
    "css": ["styles.css"]  /* 添加CSS文件到内容脚本 */
  }
]
小结

这个时候重新运行插件,选择文字之后,会改变背景颜色~

我们已经赋予了“智能笔记”插件一个新技能:抓住文本并用颜色标注它的能力。通过在内容脚本中添加简单的DOM操作和样式注入,用户现在能够在任何网页上高亮他们想要记住的文本,让学习和研究变得更加直观有趣。


在下一章,我们将介绍如何将用户的这些高亮标记保存下来,即便是关闭并重新打开网页后,这些珍贵的印记依旧能够重现。

相关文章
|
26天前
|
Web App开发 JSON JavaScript
vue学习:chrome 中 vuetools 开发插件 的下载、安装
这篇文章介绍了如何在Chrome浏览器中下载、安装并测试Vue.js开发插件——vue-devtools。
177 0
vue学习:chrome 中 vuetools 开发插件 的下载、安装
|
3月前
|
Web App开发 JSON 前端开发
30个Chrome 灵魂插件!
30个Chrome 灵魂插件!
|
3月前
|
Web App开发 前端开发 JavaScript
手摸手教你,从0到1开发一个Chrome浏览器插件
开发 Chrome 插件既有趣又具成就感。本教程将引导你从零开始,逐步创建一个简单的 Chrome 插件。首先了解 Chrome 插件是可增强浏览器功能的小程序。以一个基础示例开始,你将学习如何设置开发环境,包括安装 Chrome 和准备文本编辑器,并掌握 HTML、CSS 和 JavaScript 的基础知识。接着,我们将构建插件的基本结构,涉及 `manifest.json` 配置文件、`background.js` 后台脚本、`popup.html` 用户界面以及 `style.css` 样式表。
297 8
|
3月前
|
Web App开发
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
113 0
Chrome 护眼模式 - 黑暗模式 - 夜眼(Night Eye) 插件
|
4月前
|
Web App开发 数据可视化 前端开发
Chrome插件实现问题之content-scripts能访问哪些Chrome API
Chrome插件实现问题之content-scripts能访问哪些Chrome API
|
4月前
|
Web App开发 JavaScript 前端开发
Chrome插件实现问题之在Manifest V2中,设置插件的图标要如何解决
Chrome插件实现问题之在Manifest V2中,设置插件的图标要如何解决
|
4月前
|
缓存 安全 Web App开发
Chrome插件实现问题之网络进程接收到URL请求后会如何解决
Chrome插件实现问题之网络进程接收到URL请求后会如何解决
|
4月前
|
Web App开发 存储 JavaScript
Chrome插件实现问题之Manifest V2切换MV3会带来什么问题,如何解决
Chrome插件实现问题之Manifest V2切换MV3会带来什么问题,如何解决
|
4月前
|
JavaScript 前端开发 API
Chrome插件实现问题之 content_script.js能做什么
Chrome插件实现问题之 content_script.js能做什么
|
3月前
|
Web App开发 人工智能 iOS开发
灵办AI助手Chrome插件全面评测:PC Web端的智能办公利器
《灵办AI助手:Mac OS下的高效办公利器》 灵办AI助手是一款专为提升工作效率而设计的浏览器插件,适用于Chrome、Edge等主流浏览器,在Mac OS系统中表现尤其出众。本文将深入评测其核心功能,包括网页翻译、AI对话、AI阅读及代码辅助等,展示如何在实际工作中运用这些功能来提升效率。此外,文中还提供了详细的安装与设置指南,帮助读者轻松上手这款办公神器。无论你是学生、职场人还是开发者,灵办AI助手都能成为你提高生产力的理想选择。
114 0