1

5 가지 환경의 SAAS 오퍼링 (ServiceNow)을 사용합니다. 나는 유일한 차이점이 기본 URL 인 환경을 자주 전환하는 것으로 안다.크롬 확장을 작성하여 저장된 사전 설정으로 기본 URL을 변경하십시오.

필자는 어떤 플러그인 작업도 해 본 적이 없으므로 가능한지 확실하지 않지만 몇 가지 기본 URL 사전 설정을 설정하고 현재 URL을 가져 와서 기본을 바꿀 수 있어야합니다. 한 번의 클릭으로

+2

다음 번에 질문을 할 때이 질문에 대한 잘못된 생각을 설명하는 "노이즈"는 포함하지 마십시오. 네 사건을 돕지 못해. [How to Ask] (https://stackoverflow.com/help/how-to-ask)를 참조하십시오. – Xan

+0

좋은 점 감사합니다! –

답변

2

완전히 가능합니다.

일반적인 방향의 포인터는 chrome.tabs API : 탭의 URL을 조작 할 수 있습니다.

UI와 마찬가지로 도구 모음에 Browser Action이라는 단추가 표시됩니다. 당신이 그것을 클릭 할 때 단순히 뭔가를 할 수도 있고, 작은 UI 페이지를 드롭 다운시킬 수도 있습니다. 키보드 단축키를 추가 하시려면 chrome.commands API에 관심이 있으실 것입니다.

다음은 가능한 가장 단순한 아키텍처를위한 모의입니다. 클릭시 2 개의 기본 도메인 사이를 스왑하는 백그라운드 스크립트 ("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에서 시작하는 것이 좋습니다.

+0

영웅에 대해 제로에 대해 와우 이야기! –

관련 문제