0

我有一个Chrome扩展,可以让Google Translate更容易地向用户显示。如果用户想要在新窗口中查看翻译,则有一个选项。要在新窗口中显示翻译页面,我想向用户显示一个紧凑的翻译页面。我想更改USER-AGENT以向用户展示Google翻译的移动版本。Chrome用户代理不会更改

我试图this,这是我的函数打开新的窗口,但窗口的用户代理不会改变,我不知道我怎么能解决这个问题:

function OpenURL(url, tab) 
{ 

    if(config.tab=="true") 
    { 
     var id = tab.index +1; 
     chrome.tabs.create({'url': url, 'index': id}); 
    } 
    else 
    { 
     chrome.webRequest.onBeforeSendHeaders.addListener(
     function(info) { 
      // Replace the User-Agent header 
      var headers = info.requestHeaders; 
      headers.forEach(function(header, i) { 
       if (header.name.toLowerCase() == 'user-agent') { 
        header.value = 'Mozilla/5.0(iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B314 Safari/531.21.10'; 
       } 
      }); 
      return {requestHeaders: headers}; 
     }, 
     // Request filter 
     { 
      // Modify the headers for these pages 
      urls: [ 
       "*translate.google.com*", 
      ], 
      // In the main window and frames 
      types: ["main_frame", "sub_frame"] 
     }, 
     ["blocking", "requestHeaders"] 
     ); 
     newwindow = window.open(url, "_blank", "resizable=yes, scrollbars=yes, titlebar=yes"); 
    } 
} 

谁能帮助我?

回答

1

"*translate.google.com*",是无效match pattern,尝试
"*://translate.google.com/*"改为。