【问题标题】:Chrome User agent doesn't changeChrome 用户代理不会改变
【发布时间】:2012-12-29 17:58:47
【问题描述】:

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

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

谁能帮帮我?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-28
      • 2012-01-19
      • 2019-06-25
      • 1970-01-01
      • 2021-07-23
      • 2014-02-01
      • 2017-11-24
      • 1970-01-01
      相关资源
      最近更新 更多