Google chrome extension 如何在url更新时禁用内容脚本?

Google chrome extension 如何在url更新时禁用内容脚本?,google-chrome-extension,Google Chrome Extension,当我在谷歌上搜索时,我想隐藏特定的内容。因此,首先我隐藏整个页面,然后是内容,然后取消隐藏页面;这允许一个干净的页面加载。但是,我只需要在第一次打开时隐藏整个页面,而不是在再次使用搜索框搜索时。这可能吗 manifest.json { "manifest_version": 2, "name": "test", "version": "1", "content_scripts": [{ "matches": ["https://www.google.com/search*

当我在谷歌上搜索时,我想隐藏特定的内容。因此,首先我隐藏整个页面,然后是内容,然后取消隐藏页面;这允许一个干净的页面加载。但是,我只需要在第一次打开时隐藏整个页面,而不是在再次使用搜索框搜索时。这可能吗


manifest.json

{
  "manifest_version": 2,
  "name": "test",
  "version": "1",
  "content_scripts": [{
    "matches": ["https://www.google.com/search*"],
    "run_at": "document_start",
    "js": ["script.js"]
  }]
}
script.js

document.documentElement.style.visibility = "hidden";
document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("rcnt").style.visibility = "hidden";
  document.documentElement.style.visibility = "";
});
#rcnt {
  visibility: hidden;
}
document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("rcnt").style.visibility = "visible";
});

manifest.json

{
  "manifest_version": 2,
  "name": "test",
  "version": "1",
  "content_scripts": [{
    "matches": ["https://www.google.com/search*"],
    "run_at": "document_start",
    "js": ["script.js"]
  }]
}
“css”:[“style.css”]

style.css

document.documentElement.style.visibility = "hidden";
document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("rcnt").style.visibility = "hidden";
  document.documentElement.style.visibility = "";
});
#rcnt {
  visibility: hidden;
}
document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("rcnt").style.visibility = "visible";
});
script.js

document.documentElement.style.visibility = "hidden";
document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("rcnt").style.visibility = "hidden";
  document.documentElement.style.visibility = "";
});
#rcnt {
  visibility: hidden;
}
document.addEventListener("DOMContentLoaded", function() {
  document.getElementById("rcnt").style.visibility = "visible";
});

您可以在devtools中或直接在browser profile目录中轻松检查该扩展的代码。至于这个问题,一个可以说更好的方法是使用MutationObserver,而不是隐藏整个页面,并且只隐藏元素,这样就不必计算页面负载。或者根本不使用js,只需在content#u脚本中声明“css”,并在#rcnt{visibility:hidden!important}中使用此代码,您可以使用Google搜索查找大量信息和使用MutationObserver的示例。