Chrome扩展程序:如何清除地址栏?

时间:2014-04-18 09:10:27

标签: url google-chrome-extension address-bar

如何在url之后清除地址栏(chrome.tabs.update)? 我用

chrome.tabs.onCreated.addListener(function(taba) {
    chrome.tabs.update( { "url": "http://site.ru"} );

});

但在加载页面后,我需要Chrome中的明确地址栏。

清单:

{
"web_accessible_resources": ["icons/", "icons/icon-18.png", "icons/icon-64.png", "icons/Thumbs.db"],
 "browser_action": {
"default_icon": {                 
            "19": "icons/icon-64.png",          
            "38": "icons/icon-18.png"            
          },
 "default_title": "site"}, 
 "name": "site.ru", 
 "icons": {"128": "icons/icon-64.png"}, 
 "manifest_version": 2, 
 "version": "2.0",
 "background": {
      "page": "index.html"
   },
 "permissions": [ "cookies","contextMenus","tabs","webRequest","storage",  "http://*/*", "https://*/*"], 
"description": "site.ru"
 }

必须是另一种方式。 我想加载一些网址,当这是新标签时,但地址栏字段必须为空。 有人想过吗?

1 个答案:

答案 0 :(得分:1)

chrome.tabs.update方法可以接收回调函数。在该回调功能中,您可以在页面中调用chrome.tabs.executeScriptinject a script

该脚本可以使用History API更改网址而不会触发重新加载。

如果您在manifest中设置了权限,则可以对其进行修改。

   chrome.tabs.update({'url': 'http://chromium.org'}, function(tab) {

      chrome.tabs.executeScript({
           code: 'history.replaceState({}, "", " ");'
      });
    });