Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 镀铬扩展插件样式内联不起作用_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 镀铬扩展插件样式内联不起作用

Javascript 镀铬扩展插件样式内联不起作用,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我试着用谷歌搜索,但似乎找不到答案 我正在尝试制作一个Chrome扩展,它只做一件事,将style.display属性更改/插入到一个或多个元素。通常这是微不足道的,但出于某种原因,我无法让它与扩展一起工作 manifest.json文件 还有myapp.js 但是它没有做任何事情。有可能在触发document\u end之后,页面以编程方式添加元素。如果您注入CSS而不是脚本,这可以解决,整个任务也可以简化 这将完成您尝试执行的操作,除非页面本身以编程方式重写此规则: 在清单文件中,更改内容

我试着用谷歌搜索,但似乎找不到答案

我正在尝试制作一个Chrome扩展,它只做一件事,将style.display属性更改/插入到一个或多个元素。通常这是微不足道的,但出于某种原因,我无法让它与扩展一起工作

manifest.json文件

还有myapp.js


但是它没有做任何事情。

有可能在触发
document\u end
之后,页面以编程方式添加元素。如果您注入CSS而不是脚本,这可以解决,整个任务也可以简化

这将完成您尝试执行的操作,除非页面本身以编程方式重写此规则:

  • 在清单文件中,更改
    内容\u脚本
    ,如下所示:

    "content_scripts": [
        {
            "matches": ["https://www.facebook.com/*"],
            "css": ["myapp.css"]
        }
    ]
    
  • 并使用以下
    myapp.css

    #rightCol{
    显示:无!重要;
    }
    

    • 很抱歉耽误了回来。事实证明它不是脚本,出于某种原因,每次更改后我都必须重新启动chrome

      之后,它不会总是隐藏我通过将其添加到myapp.css中修复的条

      document.addEventListener("DOMSubtreeModified", listener, false);
      
      然后隐藏在侦听器函数中(在try/catch中,以防它不在屏幕上)

      现在工作完美,甚至在Chrome网络商店中:)
      对于任何感兴趣的人,这里有一个链接:

      1)如果您在chrome开发者工具中手动执行相同的操作,您是否获得了所需的任务?2) 扩展运行后,在devtool中选中此#rightCol项,是否可以看到display:none?是否在内容脚本中使用了一种机制,以便它等待页面的其余部分加载(加载事件侦听器或
      $(document).ready()
      )?这样会覆盖现有的css?我不知道这是可能的:)@bensonsearch这要看情况而定,但在大多数情况下是的。参见CSS特异性的定义。(
      !important
      +id)获胜,除非页面本身使用
      设置样式属性!重要信息
      。你不必重新启动Chrome,1)在扩展页面上重新加载扩展,2)刷新页面以便注入新内容脚本就足够了。这是我最初的想法和正在做的事情,但直到我重新启动Chrome才起作用,现在对于更新来说,重新加载非常奇怪
      "content_scripts": [
          {
              "matches": ["https://www.facebook.com/*"],
              "css": ["myapp.css"]
          }
      ]
      
      document.addEventListener("DOMSubtreeModified", listener, false);