0

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

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

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");
    }
}

谁能帮我?

4

1 回答 1

1

"*translate.google.com*",是无效的匹配模式,请尝试
"*://translate.google.com/*"

于 2012-12-29T09:58:47.600 回答