首页 > 其他分享 >浏览器标签页工具插件

浏览器标签页工具插件

时间:2022-10-22 09:55:15浏览次数:54  
标签:插件 浏览器 log title chrome 标签 js url console

manifest.json

{
  "name": "TabTool",
  "description": "修改 localhost 网页 title",
  "version": "0.1.0",
  "manifest_version": 3,
  "permissions": ["storage", "tabs", "activeTab", "scripting"],
  "host_permissions": ["<all_urls>"],
  "background": {
    "service_worker": "background.js"
  },
  "action": {
    "default_popup": "popup/popup.html",
    "default_icon": "icons/smile.png",
    "default_title": "标签页工具"
  },
  "icons": { "128": "icons/smile.png" }
}

background.js

/**
 * 可用的注册权限见 https://developer.chrome.com/docs/extensions/mv3/declare_permissions/
 * 注册之后才会在 chrome 对象中可见
 * 与 manifest.json 一样,background.js 必须放在根目录
 */
chrome.runtime.onInstalled.addListener(function () {
  console.log('chrome 对象')
  console.log(chrome)

  // 给图标添加标记文本
  chrome.action.setBadgeText({ text: '0.1' })
  // 设置标记文本颜色
  chrome.action.setBadgeBackgroundColor({ color: [255, 0, 0, 255] })
})

// 监听 Tab 页面加载状态,添加处理事件
chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => {
  // 设置判断条件,页面加载完成才添加事件,否则会导致事件重复添加触发多次
  url = tab.url
  if (changeInfo.status === 'complete' && /^http:\/\/localhost/.test(url)) {
    console.log(tabId, url)
    chrome.scripting
      .executeScript({
        target: { tabId: tabId },
        files: ['content-script.js'],
      })
      .then(() => {
        console.log('INJECTED SCRIPT SUCC.')
      })
      .catch((err) => console.log(err))
    // // 获取当前标签页的 URL
    // console.log(url)

    // // 转换成需要的 title

    // // 修改标签页的 title
    // tab.title = 'pr'
    // console.log(tab.title)
    // document.title = 'ha'
    // console.log(document.title)
  }
})

content-script.js

console.log(content)
const { url } = await chrome.storage.sync.get('url')

console.log('url')
document.title = 'ma'
console.log(document.title)

标签:插件,浏览器,log,title,chrome,标签,js,url,console
From: https://www.cnblogs.com/ageovb/p/16815403.html

相关文章

  • HTML标签-表格标签1和HTML标签-表格标签2
    HTML标签-表格标签1table:定义表格width:宽度border:边框cellpadding:定义内容和单元格的距离cellspacing:定义单元格之间的距离。如果指定为0,则单元格的......
  • 插件管理(Manager Plugins)
    插件管理(ManagerPlugins)安装需要的插件:Deploytocontainer(支持自动化将代码部署到tomcat容器)MavenIntegration(jenkins利用maven编译,打包,所需插件)GitHubAuthentica......
  • Selenium+Python系列(三) - 常见浏览器操作
    写在前面上篇文章为大家分享了自动化测试中,常见元素定位的操作。今天再次读文章,居然忘记了大家特别喜欢的CSS和Xpath定位操作分享,这怎么能行呢?马上安利,感兴趣的同学去参......
  • 下载插件失败? pom.xml
    parent标签下加,表示直接去远程仓库下载<relativePath/>比如<parent><artifactId>spring-boot-dependencies</artifactId><groupId>org.springfra......
  • vue 用 input 和 canvas 标签实现前端背景图片的移动 重绘 上传
    前言:    闲得无聊写的,嫌麻烦的直接出门左转搜索vuecropper.js模块直接用就行正文:  首先我们要知道input是自带file方法的,直接可以选这文件上传就行,但为了......
  • 【学习笔记】JSP标签、JSTL标签、EL表达式
    JSP标签、JSTL标签、EL表达式EL表达式${}作用:获取数据执行运算获取web开发的常用对象 JSP标签拼接页面<jsp:includepage="jsp1.jsp"/>转......
  • 【遇到的问题】JSTL标签使用时的错误
    【遇到的问题】JSTL标签使用时的错误 我在导入依赖时,通过maven导入了两个依赖:jakarta.servlet.jsp.jstl-apistandard如果引入jstl标签库,访问该jsp,会报原因是......
  • Openstack glance 单元测试中遇到的插件无法加载问题
    问题通过vscode直接跑functiontest时候报错找不到插件。(手动跑结果也一样:stestrrun--no-discoverglance/tests/functional/v2/test_images.py::TestQuotasWithRegist......
  • 安装pod网络插件flannel
    官网地址https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml感觉网络这块有点复杂,抠脑壳!!同一个节点上宿pod之间同通信不同节点上pod......
  • 手机浏览器电脑版有什么作用,手机浏览器如何设置成电脑版
    市面上的浏览器由于终端不同,分为手机浏览器和电脑浏览器。手机浏览器和电脑浏览器区别比较大,有的朋友习惯使用电脑浏览器,用不惯手机浏览器。这时候,我们可以将手机浏览器设......