首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用含流形jQuery的Chrome扩展注入V3

如何用含流形jQuery的Chrome扩展注入V3
EN

Stack Overflow用户
提问于 2022-06-08 05:33:49
回答 1查看 882关注 0票数 1

我需要运行一些jQuery代码的内容脚本,但有些网站不包括jQuery,有任何方法注入吗?我试过了,但似乎一点用也没有

代码语言:javascript
运行
复制
var script = document.createElement('script');
script.src = 'https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-08 07:29:22

是。

如果您想在

之前访问jquery,那么在manifest.json文件中使用"document_start“代替"document_end”。

回答1。

在manifest.json中的内容脚本之前包含它。

  1. 下载您想要使用的jquery版本。
  2. 在manifest.json

中指定它。

manifest.json

代码语言:javascript
运行
复制
{
  "manifest_version": 3,
  "background": {
    "service_worker": "background.js"
  },
  "content_scripts": [
    {
      "matches": ["<tab_url_pattern>"],
      "run_at": "document_end", 
      "js": ["jquery3.5.1.min.js", "contentScript.js"],
      "all_frames": false
    },
  ]
}

回答2。

使用"Web_accessible_resource“公开jquery文件,并使用document.body.appendChild()将其注入必需的选项卡

代码语言:javascript
运行
复制
{
  "manifest_version":3,
  "permissions": ["tabs"],
  "content_scripts":[{
      "matches": ["<url_pattern_1>"],
      "run_at": "document_end",
      "js": ["contentScript.js"],
      "all_frames": false
    }],
    "web_accessible_resources": [
    {
      "resources": ["jquery-1.11.3.min.js", "otherJquery.js"],
      "matches": ["<url_pattern_1>"]
    }
  ]
}

在contentScript.js中

代码语言:javascript
运行
复制
const contentScriptLinks = ['jquery-1.11.3.min.js', 'otherJquery.js'];

contentScriptLinks.forEach(src => {
  let el = document.createElement('script');
  el.src = chrome.runtime.getURL(src);
  document.body.appendChild(el);
});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72540524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档