showf
showf

Reputation: 102

chrome extension - update tab without changing url

I'm building a small chrome extension, that can open an page in a proxy for example i'm opening www.mysite.com, and the clicking on my extension button, and it update the page to www.myproxy.net/q=www.mysite.com. it's working like a charm, but i want to hide the chnage in the adress bar, so the url will remain the original site. i made a few searches, but can't find out how to do such a thing.

can you please help me?

thanks

my manifest file

{
"name": "proxy",
"version": "1",
"browser_action": {
    "default_icon" : "icon.png"
},
"permissions": ["tabs"],
"manifest_version": 2,
"background":{
    "scripts": ["popup.js"]
},
"commands": {
  "_execute_browser_action": {
    "suggested_key": {
      "default": "Ctrl+B",
      "windows": "Ctrl+B"
    }
  }
}

}

my popup.js

chrome.browserAction.onClicked.addListener(function(activeTab){
chrome.tabs.query({active: true, currentWindow: true}, function(tab) {
    var newURL = "http://myproxy.net/?q=" + tab[0].url;
    chrome.tabs.update(undefined, {url: newURL});
}); 

});

Upvotes: 0

Views: 305

Answers (2)

Yi Kai
Yi Kai

Reputation: 640

You can use history.pushState or history.replaceState to do this. Refer to this article https://developer.mozilla.org/en-US/docs/Web/API/History_API

Example:

On the page of www.myproxy.net/q=www.mysite.com, add a script

history.pushState( {} , '', '/' );

Upvotes: 0

ReyAnthonyRenacia
ReyAnthonyRenacia

Reputation: 17651

AFAIK, this is not possible via Chrome API. The fact that you couldn't find searches means it's not doable yet. Unless maybe, you can write your own implementation.

Upvotes: 1

Related Questions