我在5种不同的环境中使用SAAS产品(ServiceNow)。我发现自己经常切换环境,唯一的区别是基本URL。
我从未做过任何插件工作,所以我不确定这是否可行但是我想设置一些基本的URL预设,并且能够获取当前的URL并且只需交换基础点击一下按钮。
答案 0 :(得分:2)
这完全有可能。
一般方向的指针是chrome.tabs
API:您将能够使用它操纵标签的URL。
UI方面,您在工具栏上看到一个名为Browser Action的按钮;你可以在点击它时简单地做一些事情,或者你可以从中删除一个小的UI页面。您可能还对chrome.commands
API感兴趣添加键盘快捷键。
这是一个可能的最简单架构的模拟:一个后台脚本,在点击时在两个基域之间交换(注意它需要"activeTab"
permission)。
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扩展程序有许多初学者教程;我建议从Overview page开始。