使用侧边栏的Chrome扩展程序

use*_*330 15 google-chrome-extension

我一直在浏览Chrome扩展程序,并且我想创建一个使用侧边栏与网页交互的扩展程序.因此,用户单击按钮启动扩展,当前页面拆分,右侧部分显示我的扩展名.我试过下面,但我什么都没看到(工作或其他).我并不感到惊讶它不起作用,因为我没有一个sidebar.html文件.我在清单中有这个原因是因为我在本网站的另一篇文章中看到了它.有人建议使用manifest.json中的"sidebar"行,但文档中甚至没有提到"sidebar"作为清单语法的有效部分.

manifest.json的:

{
  "name": "Test 1",
  "version": "1.0",
  "description": "Test Extension 1",
  "page_action": {
    "default_icon": "icon.png",
    "default_title": "Testing",
    "default_popup": "popup.html"
   },
  "sidebar" : {},
  "permissions": [
    "experimental"
  ]
}
Run Code Online (Sandbox Code Playgroud)

popup.html:

<script>
  chrome.experimental.sidebar.show();
  chrome.experimental.sidebar.expand();
  chrome.experimental.sidebar.navigate({path: "sidebar.html"});
</script>
Run Code Online (Sandbox Code Playgroud)

我启用了'实验'.

谢谢你的帮助.

kbt*_*tzr 33

问题是你在理论上打开弹出窗口中的侧边栏,而不是当前页面.

您应该在页面中添加内容脚本,并使用打开侧栏的功能.因此,在弹出窗口中,您应该只检索当前选项卡,然后从中调用此函数.

此外,正如Boris Smus在您的问题中所说,未来版本中将会停止使用侧边栏.所以我建议你通过内容脚本创建自己的侧边栏框架.


更新

为了帮助您,我做了一个简单的扩展,在当前页面上创建了一个侧边栏.

代码是完全注释的,您可以在此处下载.


更新2

@ Curtis已经提供了此示例扩展的更新版本.

你可以从github克隆它.


Tho*_*ran 5

我一直在寻找侧边栏解决方案,最后在 实施chrome.sidebar API线程.

根据Sidebar PRD,已经可以通过以下方式创建侧边栏:

  1. 将脚本注入页面,编辑页面的HTML以显示侧栏,方法是修改DOM以插入从远程服务器加载侧栏内容的iframe.
  2. 注入的脚本可以直接编辑DOM以显示侧栏,其内容通过消息传递.

但是,在以下方面存在许多缺点(在同一文件中解释):

可用性,性能,安全性,隐私(扩展嗅探以及第三方cookie)和可访问性.

您可以观看他们为未来补充工具栏组件做准备的演示.

如果您对该主题加注星标,则可能有助于更快地发布该功能.

更新

根据此评论,Chrome不会获得内置的侧边栏组件.