我使用5种不同环境的SAAS产品(ServiceNow)。我发现自己经常切换环境,其中唯一的区别是基本URL。
我从来没有做过任何插件的工作,所以我不确定这是否可行,但我想设置我的一些基本URL预设,并能够采取当前的URL,只是交换基地与点击一个按钮。
完全有可能。
一般方向的指针是chrome.tabs
API:你可以用它来操作选项卡的URL。
ui方面,你在工具栏上有一个叫做浏览器动作的按钮;当你点击它的时候,你可以简单地做一些事情,或者你可以有一个小的UI页面从它下拉。您可能也对chrome.commands
API添加快捷键感兴趣。
这是一个模拟最简单的架构:一个后台脚本,在2个基本域之间切换点击(注意,它需要"activeTab"
权限)。
var BASE1 = "example.com";
var BASE2 = "example.org";
// From https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
function escapeRegExp(string) {
return string.replace(/[.*+?^${}()|[]\]/g, '\$&');
}
function baseToRegExp(base) {
return new RegExp("^(https?://[^/]*)(" + escapeRegExp(base) + ")/");
}
var BASE1RegExp = baseToRegExp(BASE1);
var BASE2RegExp = baseToRegExp(BASE2);
chrome.browserAction.onClicked.addListener(function(tab) {
if (tab.url.match(BASE1RegExp)) {
chrome.tabs.update(tab.id, {
url: tab.url.replace(BASE1RegExp, "$1"+BASE2+"/")
});
} else if (tab.url.match(BASE2RegExp)) {
chrome.tabs.update(tab.id, {
url: tab.url.replace(BASE2RegExp, "$1"+BASE1+"/")
});
}
});
有许多初学者教程Chrome扩展;我建议从概览页开始。