url = url.replace('site1.com', 'site2.com');
надо? там было так и меня по сути устраивало, если бы не эти параметры в конце строки (и иногда в середине)
var neededUrl = 'https://site2.com/';
chrome.browserAction.onClicked.addListener(function(tab)
{
//Если ссылка на оригинал выглядит так "http://site1.com/img/pic1.jpg$param=blablabla"
chrome.tabs.update(tab.id, {url: neededUrl + tab.url.match(/\/\/(?:.*?)\/(.*?)\$/)[1]});
});
"http://site1.com/img/pic1.jpg$param=blablabla"