Javascript 使用content\u脚本修改网页内容

Javascript 使用content\u脚本修改网页内容,javascript,google-chrome-extension,Javascript,Google Chrome Extension,这不是重复,我已经检查了这个问题,但它没有回答我的问题,因为我只想在特定时间阻塞,因此阻塞/不阻塞必须在js代码内部完成(根据我的说法) 所以我有一个小小的chrome扩展,我想在几个小时内屏蔽一些网站。我没有把代码放在检查时间上,因为它与我的问题无关 manifest.json: { "manifest_version": 2, "name": "Site Blocker Extension", "description": "This extension blocks some sites

这不是重复,我已经检查了这个问题,但它没有回答我的问题,因为我只想在特定时间阻塞,因此阻塞/不阻塞必须在js代码内部完成(根据我的说法)

所以我有一个小小的chrome扩展,我想在几个小时内屏蔽一些网站。我没有把代码放在检查时间上,因为它与我的问题无关

manifest.json

{
"manifest_version": 2,

"name": "Site Blocker Extension",
"description": "This extension blocks some sites at defined hours",
"version": "1.0",

"content_scripts": [
    {
        "matches": ["https://www.facebook.com/*"],
        "js": ["contentScript.js"]
    }
],
"page_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html",
    "default_title": "SiteBlocker Extension"
},

"permissions": ["activeTab","tabs","https://www.facebook.com/*"]
}

contentScript.js

chrome.tabs.executeScript({
//code: 'document.body.style.backgroundColor="red"'
   code: 'document.body.textContent="<p>Go back to work :-)</p>"'
chrome.tabs.executeScript({
//代码:“document.body.style.backgroundColor=“red””
代码:“document.body.textContent=“返回工作:-”)

}))

无论是将背景颜色更改为红色,还是通过更改来抑制html正文,似乎都不起作用


这是我的第一个chrome扩展:你知道我做错了什么吗?

听起来你是个初学者

我并没有期望,但我已经对扩展做了足够多的处理,所以我知道了一点。 你可能想在你的manafest中添加一个背景页面。背景页面与内容脚本不同。无论网页是否打开,内容脚本都会在每次加载页面时运行,背景页面会在chrome打开的整个时间内运行

“背景”:{
“脚本”:[“background.js”]
},

“权限”:[
“webRequest”,
“://.facebook.com/*”
]

还可以查看WebRequest

Webrequest您可以看到每个小请求都将释放您的web浏览器到您的网站,这对于阻止许多或非常特定的请求更有用。例如,如果你想阻止一些广告,或者可能只是一张图片


享受阅读,希望你能找到一些好东西。

1)chrome.tabs在内容脚本中不可用2)也不需要,因为内容脚本已经在运行3)你不需要声明的内容脚本,4)你需要一个事件页面,chrome.alams API,chrome.declarativeContent API 5)确保阅读。谢谢,我将看一看事件页面、chrome.alarms API和chrome.declarativeContent API。但我对你的说法有点困惑:“你不需要声明的内容脚本”,因为在你给我阅读的链接中,它说“如果你的扩展需要与网页交互,那么它需要一个内容脚本。”。您能否详细说明最终不需要内容脚本来与web页面交互这一事实?在您看来,让内容脚本成为可选脚本的主要原因是什么?没有必要在manifest.json中声明它,因为您将通过chrome.declarativeContent或chrome.tabs.executeScript以编程方式注入它。我已经涉猎了“background”及其关联脚本和权限。根据tab.url,我试图在background.js中修改主体(与chrome.tabs.ExecuteScript类似),但没有效果。不过我可以启动一个警报窗口,所以我猜代码已经被解释了。