使用侧边栏的Chrome扩展程序

时间:2011-09-12 16:59:11

标签: 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"
  ]
}

popup.html:

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

我启用了'实验'。

感谢您的帮助。

2 个答案:

答案 0 :(得分:33)

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

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

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


更新

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

代码已完全注释,您可以下载here


更新2

@ Curtis制作了此示例扩展程序的更新版本。

您可以克隆它from github

答案 1 :(得分:5)

我一直在寻找侧边栏解决方案,最终结束了 Implement chrome.sidebar API线程。

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

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

然而,关于以下方面存在许多缺点(在同一文件中解释):

  

可用性,性能,安全性,隐私(扩展嗅探以及第三方Cookie)和辅助功能。

您可以watch a demo准备未来的补充工具栏组件。

如果您对主题加注星标,则可以更快地发布该功能。

更新

根据this comment,Chrome无法获得内置的侧边栏组件。