问题描述
作为一名Web开发人员,我不断在不同环境(本地,分期,测试,生产)中开展项目。我主要从事Drupal项目。通过浏览网站,我无法告诉你从本地到生产的次数。然后不小心改变了一个真正只在本地环境中改变的生产环境。所以这里有一个想法:Chrome主题根据
例如:on local.mysite.com * 浏览器chrome应为绿色,在分段.mysite.com * 应该是蓝色的,而在 mysite.com * 上,颜色应该是标准的铬灰色。
这可以避免许多在不同环境中工作的人的混乱。不仅对开发人员而言,也是内容的人。
可惜的是,我不知道如何使用这种行为来编写Chrome主题。
主题不是动态的,所以解决方案并不直接。
可以使用。
删除
运算符时,不要忘记删除该标签的URI不是特殊的tabId。添加 事件,以监听选项卡更改。此事件传递一个windowId和tabId。使用在步骤2中创建的哈希来检查主题是否必须更改。
步骤3-4的替代方法:使用到方法的背景页面。 可以在,在content_scripts
,匹配
部分。
onActivated
事件是。在Chrome 18之前,该事件称为 onActiveChanged
。
扩展名如步骤2-4需要以下:
As a web developer I'm constantly working on projects in different environments (local, staging, testing, production). I mostly work on Drupal projects. I can't tell you the number of times I've been led from local to production by just browsing the site. And then accidentally changing a setting on production that was really only supposed to be changed on my local environment.
So here's an idea: A Chrome theme that changes color depending on the sub domain of a site.
For example: on local.mysite.com* the browser chrome should be green, on staging.mysite.com* it should be blue, and on mysite.com* the color should be standard chrome grey.
This could avoid a lot of confusion for a lot of people working in different environments. Not only for developers, also for "content" people.
Sadly, I have no idea how to code a Chrome theme with that kind of behavior.
Themes are not dynamic, so the solution is not straightforward.
It's possible to create the feature using the management API. At least three extension are needed:
- The main extension for switching themes.
- Theme #1, theme #2 etc (an extra extension for every additional theme).
How to
- Create a theme - See the Chrome themes documentation.
- Bind a
chrome.tabs.onUpdated
event to listen for tab changes, and possibly save the state of known "theme-tabs" in a hash (by tabId). Don't forget to remove the tabId when the tab's URI is not "special" any more, using thedelete
operator. - Create another extension, with a background script.
Add achrome.tabs.onActivated
event, to listen for tab changes. This event is passed a windowId and tabId. Use the hash, created in step 2, to check whether the theme has to be changed or not. - If the URL matches a certain pattern, activate the new theme using the
chrome.management.setEnabled
method.
Alternative approach for step 3-4: Use Content scripts to call a method the background page. The match patterns can then be set in the manifest file, at the "content_scripts"
, "matches"
section.
: The onActivated
event was not supported prior Chrome 18. Before Chrome 18, the event was called onActiveChanged
.
The extension as described in steps 2-4 requires the following permissions:
这篇关于想法:基于环境的条件Chrome主题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!