首页 > 其他分享 >使用 content scripts 和 Vue Router 等技术在当前页面中注入和显示 Vue 单文件组件

使用 content scripts 和 Vue Router 等技术在当前页面中注入和显示 Vue 单文件组件

时间:2023-10-25 18:31:30浏览次数:47  
标签:文件 插件 vue content Vue scripts 组件 div

要在当前页面中注入和显示 Vue 单文件组件,您需要按照以下步骤操作:

  1. 创建一个 Vue 项目:首先,确保您有一个 Vue 项目,包括您的 Vue 单文件组件以及相应的构建配置。
  2. 将构建后的文件添加到插件目录:将 Vue 项目构建后生成的 HTML、CSS 和 JavaScript 文件添加到您的 Chrome 插件的目录中。
  3. 编写 Content Scripts:创建一个 Content Script 文件,用于向当前页面注入所需的脚本和样式。
// content.js

// 创建一个 div 元素,用于显示 Vue 组件
const div = document.createElement('div');
div.id = 'my-vue-app'; // 为了方便选择该元素
document.body.appendChild(div);

// 引入构建后的 Vue JavaScript 文件
const script = document.createElement('script');
script.src = chrome.extension.getURL('vue-app.js');
document.head.appendChild(script);
  1. 创建 Vue 实例:在 Vue 单文件组件中,创建一个 Vue 实例,将其挂载到上面创建的 div 元素上。
// vue-app.js

import Vue from 'vue';
import App from './App.vue';

new Vue({
  render: (h) => h(App),
}).$mount('#my-vue-app');
  1. 更新插件的 manifest.json:确保 manifest.json 文件正确配置了 Content Scripts。
"content_scripts": [
  {
    "matches": ["<all_urls>"], // 匹配所有页面
    "js": ["content.js"]
  }
]
  1. 重新打包插件:将构建后的文件和更新后的 manifest.json 重新打包成 Chrome 插件。
  2. 安装和启用插件:在 Chrome 浏览器中加载并启用您的插件。

现在,当您访问网页时,Vue 单文件组件将在当前页面中注入和显示在您指定的 div 元素中。这使您能够在 Chrome 插件中嵌入 Vue 组件而不是打开弹出窗口。

标签:文件,插件,vue,content,Vue,scripts,组件,div
From: https://blog.51cto.com/javajz/8023936

相关文章

  • 【前端开发】基于vue+elemnt-ui流程图设计器解决方案
    前言越来越多的企业都在研发低代码平台,其中流程引擎是核心之一,拥有一个可以拖拽设计审批流程的设计器是相当重要的。介绍审批流程设计器是一种工具,用于创建和设计审批流程。它通常是一个可视化的设计器界面,可以方便地添加和配置审批节点、终审节点、消息节点等,并能够通过连线将......
  • Vue日历插件
    <template><divclass="page"><divclass="calendar"><divstyle="display:flex;justify-content:space-between;align-items:center;border:1pxsol......
  • 关于在vue 中翻译select 下拉数据的操作
    可以使用object.keys()import*asfiltersfrom"./filters";//globalfiltersObject.keys(filters).forEach((key)=>{Vue.filter(key,filters[key]);//eslint-disable-lineno-undef});<el-select:value="detailRow.prpLpayeeD......
  • Vue 中 axios 的使用和跨域问题的解决
    一、内容:1.Axios是一个基于promise的HTTP库,类似于jQuery的ajax,用于http请求。axios并不是vue插件,所以不能使用Vue.use()。2.它既可以应用于浏览器端,也可以应用于node.js编写的服务端。3.Axios具有以下特性: (1)支持PromiseAPI。 (2)拦截请求与响应,比如:在请求前......
  • Vue中 使用 Scss 实现配置、切换主题
    1.样式文件目录介绍本项目中的公共样式文件均位于src/assets/css目录下,其中index.scss是总的样式文件的汇总入口,common.scss是供全局使用的一些基本样式(常量),_theme.scss、_handle.scss两个文件是进行主题颜色配置的文件。如下图,将index.scss在main.js文件中引入即可全......
  • vue实现动态展开与折叠内联块元素
    功能需求当多个内联块元素(比如div)在一个固定宽度的父元素内自动排列换行时,如果这些元素的行数超过四行,那么默认折叠超出的部分,并在第四行末尾显示一个按钮供用户切换展开或折叠状态。在折叠状态下,为了确保展开/折叠按钮能够显示在第四行末尾,会隐藏第四行的最后一个元素。在展开状......
  • 29-Vue脚手架-mixin 混入
    mixin混入功能:可以把多个组件共用的配置提取成一个混入对象使用混合:1)第一步,定义混入新建一个JS文件,比如mixin.jssrc/mixin.js//分别暴露exportconsthunhe1={methods:{showName(){alert(this.name)}},mounted(){......
  • SpringBoot内容协商(Content Negotiation)二 —— 自定义消息转换器(MessageConverter)
    SpringBoot内置的消息转换器SpringBoot没有处理返回yaml格式的数据,这里需要手动添加处理这种返回格式的支持。导入依赖<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-yaml</artifactId></dependency>添加配......
  • vue3 watch 用法
    <scriptsetup>import{ref,computed,watch}from'vue'constnum=ref(1)constname=ref('ming')constobj=ref({name:'小明',age:30})//watch简单类型//watch(num,(newValue,oldVal......
  • [Vue]computed和watch的区别
    computed和watch之间的区别: 1.computed能完成的功能,watch都可以完成。 2.watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作。两个重要的小原则: 1.所有被Vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象。 2.所有不......