Object.defineProperty в расширении переключателя userAgent - PullRequest
0 голосов
/ 21 марта 2020

После прочтения этого ..

{ ссылка }

Может кто-нибудь посоветовать мне способ использовать его в greasmonkey или как расширение Firefox для переписывания данные заголовка, проанализированные на веб-страницах (переключение UA).

Пока у меня есть ..

манифест. json

{

  "description": "",
  "manifest_version": 2,
  "name": "user-agentr",
  "version": "1.0",
  "icons": {
    "48": "icons/person-48.png"
  },

  "permissions": [
    "webRequest", "webRequestBlocking", "https://*" 
  ],

  "background": {
    "scripts": ["background.js"]
  },

  "browser_action": {
    "default_icon": "icons/person-32.png",
    "default_title": "Choose a user agent",
    "default_popup": "popup/choose_ua.html"
  }

}

background. js

function setUserAgent(userAgent) {
    Object.defineProperty(navigator, "userAgent", { 
        get: function () { 
            return userAgent; // customized user agent
        },
        configurable: true
    });
}

// Now in your setup phase:
// Keep the initial value
var initialUserAgent = navigator.userAgent;
setUserAgent('foo');

// In your tearDown:
// Restore the initial value
// setUserAgent(initialUserAgent);

-

и это все, что мне нужно для успешного изменения пользовательского агента?

Спасибо.

пс. Я сравниваю значения, используя

<!DOCTYPE html>
<html>
<body>

<div id="demo"></div>

<script>
var txt = "";
txt += "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt += "<p>Browser Name: " + navigator.appName + "</p>";
txt += "<p>Browser Version: " + navigator.appVersion + "</p>";
txt += "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt += "<p>Browser Language: " + navigator.language + "</p>";
txt += "<p>Browser Online: " + navigator.onLine + "</p>";
txt += "<p>Platform: " + navigator.platform + "</p>";
txt += "<p>User-agent header: " + navigator.userAgent + "</p>";

document.getElementById("demo").innerHTML = txt;
</script>

</body>
</html>

и

<html>
<head>
</head>

<body>


<?php

    $headers = apache_request_headers();

    foreach ($headers as $header => $value) {
        echo "$header: $value <br />\n";
    }

echo "<hr>";
echo $_SERVER['HTTP_USER_AGENT']
?>

</body>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...