Chrome用户代理不会更改

时间:2012-12-29 08:42:32

标签: javascript google-chrome google-chrome-extension user-agent

我有一个Chrome扩展程序,可以更轻松地向用户显示Google翻译。如果用户想要在新窗口中看到翻译,则有一个选项。要在新窗口中显示翻译页面,我想向用户显示一个紧凑的翻译页面。我想更改USER-AGENT以向用户显示Google Translate的移动版本。

我试过this这是我打开新窗口的功能,但是windows的用户代理没有改变,我不知道如何解决问题:

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 个答案:

答案 0 :(得分:1)

"*translate.google.com*",无效match pattern,请尝试使用 而是"*://translate.google.com/*"