显示扩展中包含的 HTML 个文件

Show HTML file contained within the extension

我正在创建一个网站拦截器:在您访问您已拦截的网站后,浏览器会显示一个新的 HTML 页面并显示 "website blocked"。新的 HTML 页面在我的 Chrome 扩展中保存为 message.html。有没有办法在浏览器中显示message.html?如果没有,我将使用内容脚本来注入一些 JavaScript。

正在更新标签以显示 message.html

假设以下所有条件都为真:

  • 您正在后台上下文中从脚本 运行 执行此操作。
  • 您想要更新现有的标签以显示 message.html
  • 您要更新的 ID 标签是 tabId
  • 您的 message.html 与您的 manifest.json.
  • 位于同一目录中

您可以执行以下操作,其中使用 chrome.tabs.update() (Firefox docs) 更改包含在 tabId 中的 ID 的选项卡以显示您的 message.html:

chrome.tabs.update(tabId ,{url:'/message.html'});

chrome.tabs.update(tabId ,{url:chrome.runtime.getURL('/message.html'}));

如果您要更改活动 window 中当前选定的选项卡,则不需要 tabId,您可以省略该参数。

创建一个标签来显示message.html

假设以下所有条件都为真:

  • 您正在后台上下文中从脚本 运行 执行此操作。
  • 您想要创建一个新标签来显示 message.html
  • 您的 message.html 与您的 manifest.json.
  • 位于同一目录中

您可以使用chrome.tabs.create() (Firefox docs)创建一个新标签来显示message.html:

chrome.tabs.create({url:'/message.html'});

chrome.tabs.create({url:chrome.runtime.getURL('/message.html'}));

在新的window

中打开message.html

假设以下所有条件都为真:

  • 您正在后台上下文中从脚本 运行 执行此操作。
  • 您想要创建一个新的 window 来显示 message.html
  • 您的 message.html 与您的 manifest.json.
  • 位于同一目录中

可以用chrome.windows.create() (Firefox docs)打开一个新的window来显示message.html:

chrome.windows.create({url:'/message.html'});

chrome.windows.create({url:chrome.runtime.getURL('/message.html'}));