gpt4 book ai didi

css - 我的 CSS 没有通过我的内容脚本注入(inject)

转载 作者:行者123 更新时间:2023-11-28 07:34:55 25 4
gpt4 key购买 nike

谁能给我解释一下。我正在尝试使用带有 Google 扩展的 content_script 将 CSS 文件注入(inject)网页,但我的 css 文件从未添加到网页中。有人可以告诉我我做错了什么并帮我解决吗?谢谢

list :

{
"name": "Extension",
"version": "0",
"description": "",


"permissions": ["tabs", "http://*/*", "https://*/*", "file:///*/*"],
"content_scripts": [
{
"matches": [ "http://*/*", "https://*/*", "file:///*/*"],
"css": ["myStyles.css"],
"js": ["myScript.js"],
"all_frames": true
}
]
}

我的样式.css

#test {
margin: 0 10px;
background: #fff;
padding: 3px;
color: #000;
}

最佳答案

样式表实际上被注入(inject)了,但没有被应用,因为其他样式覆盖了规则。要使规则生效,您有一些选择:

  1. 增加 specificity你的 CSS 规则。
  2. 在每条规则后加上!important:

    #test {
    margin: 0 10px !important;
    background: #fff !important;
    padding: 3px !important;
    color: #000 !important;
    }
  3. 通过内容脚本注入(inject) CSS:

    myScript.js:

    var style = document.createElement('link');
    style.rel = 'stylesheet';
    style.type = 'text/css';
    style.href = chrome.extension.getURL('myStyles.css');
    (document.head||document.documentElement).appendChild(style);

    list .json

    {
    "name": "Extension",
    "version": "0",
    "description": "",
    "manifest_version": 2,
    "permissions": ["tabs", "http://*/*", "https://*/*", "file:///*/*"],
    "content_scripts": [
    {
    "matches": [ "http://*/*", "https://*/*", "file:///*/*"],
    "js": ["myScript.js"],
    "all_frames": true
    }
    ],
    "web_accessible_resources": ["myStyles.css"]
    }

    manifest version 时,最后一个键 web_accessible_resources 是必需的2是active的,这样就可以从非扩展页面读取CSS文件。

关于css - 我的 CSS 没有通过我的内容脚本注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31272078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com