我有一个简单的页面操作,当一个特定的url被识别时,它会打开,修改url并用新的url更新标签。
下面是我的manifest.json
{
  "name" : "SF Attachment",
  "version" : "1.1",
  "description" : "Open a SF attachment",
  "background" : 
  {
     "scripts": ["background.js"]
     "persistent": false
  },
  "page_action" :
  {
  "default_icon" : "icon19.png",
  "default_title" : "Open link"
  },
  "permissions": [ "tabs" ],
  "icons" : 
  {
     "19" : "icon19.png"
  },
  "manifest_version": 2
}和我的background.js:
function checkForValidURL(tabId, info, tab) {   
   var idx = tab.url.indexOf('file:///C:/Users/sk/Downloads');
   if (idx > -1) {
      chrome.pageAction.show(tabId);
      chrome.pageAction.onClicked.addListener(function(tab)
      {
         chrome.tabs.create({url: "www.google.com"});
      });
   } else {
      chrome.pageAction.hide(tabId);
   }
}
chrome.tabs.onUpdated.addListener(checkForValidURL);现在,我重定向到google.com,但新的url实际上是以chrome-extension://najbfggahgkmlcifdoamdhgdllbkafeg/www.google.com的形式发送的。我读到过关于web可访问资源以及本地文件扩展如何使用这种格式的url的文章,但这不是我的情况,我不相信我在任何地方都启用了它,这会是问题所在吗?
发布于 2014-05-03 01:25:13
tabs.create中的URL(以及网络上的几乎任何其他URL,例如window.open或<a>链接)如果不是以方案开头,则被视为当前运行脚本的页面的相对路径。
您必须包含一个方案,例如https://www.google.com。
https://stackoverflow.com/questions/23433490
复制相似问题