Rozšíření pro Google Chrome – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Rozšíření pro Google Chrome – JavaScript, AJAX, jQuery – Fórum – Programujte.comRozšíření pro Google Chrome – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Requiem0
Duch
5. 8. 2016   #1
-
0
-

Ahoj, poraďte prosím, potřebuju napsat rozšíření na Chrome, které by měnilo UserAgent prohlížeče dle potřeby a nechá se zapínat a vypínat tlačítkem v popup.html. Mám script, který zachytí hlavičku a změní ji, ale problém je v tom, že pokud je rozšíření aktivní tak script background.js nejde vypnout pomoci tlačítka pro vypnutí a ani měnit hodnotu UserAgent dle potřeby. Tady je můj kód :

MANIFEST.json

{

  "manifest_version": 2,

  "name": "User agent",

  "description": "…..",

  "version": "1.0",

"permissions": [

"<all_urls>",

"tabs",

"webRequest",

"webNavigation",

"webRequestBlocking"

],

"browser_action": {

    "default_icon": "img/icon.png",

    "default_popup": "popup.html",

  },

"background": {

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

    "matches": [ "<all_urls>"  ],

    "persistent": true

  }

}

Background.js

chrome.webRequest.onBeforeSendHeaders.addListener(function (details) {

        var headers = details.requestHeaders,

        blockingResponse = {};

        for (var i = 0, l = headers.length; i < l; ++i) {

            if (headers[i].name == 'User-Agent') {

                headers[i].value = "funguje"; //sem se zapíše hodnota nebo proměnná obsahující novou hodnotu UserAgent

                console.log(headers[i].value);

                break;

            }

        }

        blockingResponse.requestHeaders = headers;

        return blockingResponse;

    },

        { urls: ["<all_urls>"] }, ['requestHeaders', 'blocking']);

Popup.html

<!doctype html>

<html>

  <head>

    <title>Hlavni stranka Fingerprint browser</title>

    <style>    

        @import url('style.css');

    </style>

<script src="popup.js"></script>

</head>

  <body>

<input id="Submit" type="submit" value="Spustit" />

</body>

</html>

Popup.js

document.addEventListener('DOMContentLoaded', function () {

        var checkSubmitButton = document.getElementById('Submit');

        checkSubmitButton.addEventListener('click', function () {

            chrome.tabs.getSelected(null, function (tab) {

                {

                    //tady by měl být kód pro vypnutí nebo zapnutí nového UserAgentu

                }

            });

        }, false);

}, false);

Už si s tím nevím rady, pomozte někdo :(

Nahlásit jako SPAM
IP: 78.156.147.–
oxidián0
Grafoman
10. 8. 2016   #2
-
0
-

Moc se v tom nevyznám, ale uděláš lépe, když tu funkci pojmenuješ. Zvykej si dávat věci do namespacu kvůli přehlednosti. Ve svém kódu pouze zavádíš listeners ale nikde ho neodstraňuješ.

Dám příklad:

document.addEventListener('DOMContentLoaded', mynamespace.myclickeventHandler )

mynamespace.myclickeventHandler = function(e){

if (!mynamespace.activated)

{

document.addEventListener('click', mynamespace.myclickevent );

 mynamespace.activated = true;

}

else

{

 mynamespace.activated = false;

 document.removeEventListener('click', mynamespace.myclickevent );

}

}

Pokud na nic nepříjdeš, pak zkus mozillu https://discourse.mozilla-community.org

budou to sice dělat trochu jinak ale mohou poradit, mají totiž chrome API. Nebo zkus stackoverslow s tagem Google-chrome tam máš větší šanci najít pomoc.

Nahlásit jako SPAM
IP: 78.45.87.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

API pro google-chrome — založil TuTi_fruTi

Google Chrome — založil darthdeus

Problém CSS u Google Chrome — založil Wilfreed

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý