Idea:基于环境的有条件Chrome主题

TD5*_*540 14 google-chrome environment-variables google-chrome-extension google-chrome-devtools google-chrome-theme

作为Web开发人员,我一直致力于不同环境(本地,登台,测试,生产)的项目.我主要从事Drupal项目.我不能告诉你我通过浏览网站从本地生产到生产的次数.然后不小心改变了一个真正应该在我的本地环境中改变的生产设置.

所以这是一个想法:Chrome主题根据网站的子域改变颜色.

例如:在local.mysite.com*浏览器chrome应该是绿色,在staging.mysite.com*它应该是蓝色,在mysite.com*上颜色应该是标准的chrome grey.

这可以避免许多在不同环境中工作的人的混乱.不仅适用于开发人员,也适用于"内容"人士.

遗憾的是,我不知道如何使用这种行为对Chrome主题进行编码.

Rob*_*b W 9

主题不是动态的,因此解决方案并不简单.
可以使用管理API创建该功能.至少需要三次扩展:

  • 切换主题的主要扩展.
  • 主题#1,主题#2等(每个额外主题的额外扩展).

如何

  1. 创建主题 - 请参阅Chrome主题文档.
  2. 绑定chrome.tabs.onUpdated事件以侦听选项卡更改,并可能将已知"theme-tabs"的状态保存在哈希中(通过tabId).使用delete运算符时,不要忘记在标签的URI不再"特殊"时删除tabId .
  3. 使用后台脚本创建另一个扩展.
    添加警告:请参阅以下事件,以侦听标签更改.此事件传递给windowId和tabId.使用在步骤2中创建的哈希来检查是否必须更改主题.chrome.tabs.onActivated
  4. 如果URL与特定模式匹配,请使用该chrome.management.setEnabled方法激活新主题.

步骤3-4的替代方法:使用内容脚本将方法调用为后台页面.的匹配模式然后可以在被设置清单文件,在"content_scripts","matches"部分.

警告: Chrome 18之前未支持onActivated事件.在Chrome 18之前,该活动被召集.onActiveChanged

步骤2-4中描述的扩展需要以下权限: