Javascript 如何用另一个字符串替换url字符串,然后用jquery重新加载页面?

Javascript 如何用另一个字符串替换url字符串,然后用jquery重新加载页面?,javascript,string,google-chrome,url,replace,Javascript,String,Google Chrome,Url,Replace,假设我有一个url,我想用newstring2替换string1,并用新字符串重新加载选项卡用新url重新加载选项卡 我正在尝试在后台运行此javascript,但它不起作用: chrome.tabs.onUpdated.addListener(function(y,q,p){ if(q.status=="loading"){ p.url.replace(string1, 'newstring2'); chrome.tabs.update(y,{url:p.url})

假设我有一个url,我想用newstring2替换string1,并用新字符串重新加载选项卡用新url重新加载选项卡

我正在尝试在后台运行此javascript,但它不起作用:

chrome.tabs.onUpdated.addListener(function(y,q,p){
  if(q.status=="loading"){
    p.url.replace(string1, 'newstring2');
    chrome.tabs.update(y,{url:p.url})
    }
  })
目前我只对谷歌浏览器感兴趣,因为这就是我现在正在测试的。不需要跨浏览器兼容


我做错了什么?或者这是正确的?

我相信您所需要的只是:

windows.location = window.location.replace('string1', 'newstring2');

回顾我的一些旧代码,我认为您缺少访问所选选项卡的部分

chrome.tabs.onUpdated.addListener(function(y,q,p){
  if(q.status=="loading"){
    p.url.replace(string1, 'newstring2');
    chrome.tabs.getSelected(null, function(tab){
      chrome.tabs.update(tab.id, {url:p.url});
    });
  }
});

如果您的其余代码是正确的,那应该可以工作。

不,我需要像上面那样使用chrome.tabs.onUpdated.addListener方法。对不起,我需要的是jquery而不是javascript。我注意到您的问题得到了-1,我想这是因为您没有提供足够的信息。你说的背景是指背景脚本吗?如果是这样,您是否正在进行扩展?chrome.tabs是ChromeAPI的一部分,您无法在普通客户端JS应用程序中使用它。您需要使用窗口对象,只需使用一个简单的窗口即可http://yourdomain.com/newurl'将当前窗口重定向到一个新的url,在触发新url所需的任何逻辑之后。如果你打算使用ChromeAPI,你需要提供更多的上下文。作为挑剔,你的代码有一个错误,If语句没有正确关闭。你需要一个额外的}在你的最后一个}之前,如果你链接到一个工作版本会更好,这样我就可以看到你正在尝试做什么和上下文;只是不断尝试加载页面。工作版本并不意味着没有错误的版本,循环发生的事实意味着函数至少在工作,问题在于您的逻辑。每次刷新页面时,它都执行重定向。这就是为什么您需要共享整个代码