abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 12:11 | IT novinky

    Google představil platformu Code Wiki pro rychlejší porozumění existujícímu kódu. Code Wiki pomocí AI Gemini udržuje průběžně aktualizovanou strukturovanou wiki pro softwarové repozitáře. Zatím jenom pro veřejné. V plánu je rozšíření Gemini CLI také pro soukromé a interní repozitáře.

    Ladislav Hagara | Komentářů: 0
    včera 14:22 | Bezpečnostní upozornění

    V přihlašovací obrazovce LightDM KDE (lightdm-kde-greeter) byla nalezena a již opravena eskalace práv (CVE-2025-62876). Detaily v příspěvku na blogu SUSE Security.

    Ladislav Hagara | Komentářů: 5
    včera 13:22 | Nová verze

    Byla vydána nová verze 7.2 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Tor Browser byl povýšen na verzi 15.0.1. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 0
    včera 10:33 | IT novinky

    Česká národní banka (ČNB) nakoupila digitální aktiva založená na blockchainu za milion dolarů (20,9 milionu korun). Na vytvořeném testovacím portfoliu, jehož součástí jsou bitcoin, stablecoiny navázané na dolar a tokenizované depozitum, chce získat praktickou zkušenost s držením digitálních aktiv. Portfolio nebude součástí devizových rezerv, uvedla dnes ČNB v tiskové zprávě.

    Ladislav Hagara | Komentářů: 40
    včera 03:22 | IT novinky

    Apple představil iPhone Pocket pro stylové přenášení iPhonu. iPhone Pocket vzešel ze spolupráce značky ISSEY MIYAKE a Applu a jeho tělo tvoří jednolitý 3D úplet, který uschová všechny modely iPhonu. iPhone Pocket s krátkým popruhem se prodává za 149,95 dolarů (USA) a s dlouhým popruhem za 229,95 dolarů (USA).

    Ladislav Hagara | Komentářů: 17
    včera 02:33 | Nová verze

    Byla vydána nová stabilní verze 7.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 142. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    13.11. 22:11 | Nová verze

    Společnost Epic Games vydala verzi 5.7 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 2
    13.11. 16:22 | Bezpečnostní upozornění

    Intel vydal 30 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20251111 mikrokódů pro své procesory.

    Ladislav Hagara | Komentářů: 0
    13.11. 15:33 | Nová verze

    Byla vydána říjnová aktualizace aneb nová verze 1.106 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.106 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    13.11. 12:11 | Komunita

    Canonical pro své zákazníky, předplatitele Ubuntu Pro, prodloužil podporu Ubuntu LTS z 12 let na 15 let (Legacy add-on). Týká se verzí od 14.04 (Trusty Tahr).

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (18%)
     (23%)
     (15%)
     (22%)
     (15%)
     (16%)
    Celkem 353 hlasů
     Komentářů: 16, poslední 12.11. 18:21
    Rozcestník

    Dotaz: Primitivní rozšíření pro Google Chrome

    15.3.2020 12:08 Veronika
    Primitivní rozšíření pro Google Chrome
    Přečteno: 1121×
    Dobrý den, snažila jsem se vytvořit primitivní rozšíření pro Chrome. Prostě po kliknutí na ikonu aby se načetla a zobrazila celá stránka background.html místo popup.html. Bojuji s tím už 4 dny a vůbec jsem ani nic nedohledala, navíc na netu ty návody už ani z 90% nefungují. Poradí mi tady někdo prosím?

    můj manifest.jsoin

    {
    "name": "Test56",
    "description": "Test56",
    "version": "1.0",
    "manifest_version": 2,
    "background_page" : "background.html",
    "browser_action": {
    "default_popup": "popup.html",
    "default_icon": "icon.png"
    },
    "permissions": ["notifications"]
    }
    

    Odpovědi

    🇹🇬 avatar 15.3.2020 15:38 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    budeš potřebovat tři soubory. manifest.json samotnou tu html stránku background.html  co budeš jako zobrazovat a pak skriptík background.js kterej zajistí že se bude poslouchat událost máčknutí ikonky a ždycky když se to stane tak jako otevře novej tab s tim našim vlastním obsahem ;D

    to background mimochodem znamená že běží někde na pozadí né že se bude zobrazovat na pozadí :O ;D pro tendle účel se jako muže menovat jakkoliv jinak ta html stránka ;D

    manifest.json

    {
    "name": "Test56",
    "description": "Test56",
    "version": "1.0",
    "manifest_version": 2,
    "browser_action": {},
    "background": {
        "scripts": ["background.js"]
    },
      "permissions": [
       "notifications","activeTab","tabs"
       ]
    }
    
    

    backgound.js

    chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.create({"url": "background.html"});});
    

    vyšla sem z tohodle myslim dobrýho tutoriálku hele a z jejich dokumentace hele ;D

    joa myslim že tam mam možná nějaký zbytečný práva navíc pro tu extension asi by to jako šlo ještě vočesat :O :O ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    15.3.2020 16:55 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Dobrý den, mnohokrát děkuji za funkční ukázku.

    V souboru background.html mám
    <!DOCTYPE html>
    <html>
    <head>
    <script src="app.js"></script>
    </head>
    <body>
    <button onclick="copyFile('./files/a/a.txt', './files/b/a.txt')">copyFile</button>
    </body>
    </html>
    
    a v souboru app.js mám
    /**
     * Copy an existing file.
     *
     * @param {String} originFileId ID of the origin file to copy.
     * @param {String} copyTitle Title of the copy.
     */
    function copyFile(originFileId, copyTitle) {
      var body = {'title': copyTitle};
      var request = gapi.client.drive.files.copy({
        'fileId': originFileId,
        'resource': body
      });
      request.execute(function(resp) {
        console.log('Copy ID: ' + resp.id);
      });
    }
    
    při spuštění ale dostanu chybu
    Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'". Either the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce ('nonce-...') is required to enable inline execution.
    Našla jsem, že se musí do manifest.json vložit něco jako
    "content_security_policy": "script-src 'self' https://example.com; object-src 'self'"
    ale nevím přesně kam a hlavně javascript budu načítat přímo z adresáře toho rozšíření.

    Zkusila jsem i toto
    "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
    ale chyba zůstáva. Můžete mi prosím ještě poradit?

    Celé rozšíření bude jenom obsahovat tři buttony a po kliknutí zkopírují soubory a.txt nebo n.txt nebo c.txt. Podle toho na který button se klikne.
    🇹🇬 avatar 15.3.2020 21:08 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    lepší je jako udělat zdrojáček jinak než snižovat zabezpečení :O ;D

    vadí tomu hádám js inline funkce v background.html tak ji bude potřeba jakoby nahradit hrabáním se dom html. v tý background.html dej pryč onclick="funkce" a přidej mu nějaký id takže to jako bude vypadat třeba takhle

     

    <button id="tlacitko_A">copyFile</button>

     

    a udělat to v js přes dom

     

    document.getElementById("tlacitko_A").addEventListener("click", copyFile('./files/a/a.txt', './files/b/a.txt'));

     

    skript se musí volat až tam bude ten html objekt vidět  nejednoduší řešení je strčit v html <skript> až pod <button> nemusí bejt nutně v hlavičce ;D

    jestli tamto je jako celej obsah toho tvýho app.js tak toho bude potřeba udělat ještě trošičku víc si myslim. bude potřeba nějak inicializovat tamto google api a nějak se do něj přihlásit a až pak do něj zkoušet něco kopírovat ;D jako já extension teda netestuju přímo v chrome ale chromiu. nóó a chromium je vočesaným o ty různý google věci navíc tak se zdroják muže chovat jinak v každým z těch dvou prohlížeču a v čistým chrome to jako fungovat muže tak dej vědět ale bojim se že takle samotný ti to nepoběží :O :'(

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    15.3.2020 21:55 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Tak to mám všechno takto.

    manifest.json

    {
    "name": "Test56",
    "description": "Test56",
    "version": "1.0",
    "manifest_version": 2,
    "browser_action": {},
    "background": {
            "scripts": ["background.js"]
    },
    "permissions": ["notifications","activeTab","tabs"]
    }
    

    background.js

    chrome.browserAction.onClicked.addListener(function(tab)
    {
            chrome.tabs.create
            ({
                    "url": "background.html"
            });
    });
    

    background.html

    <!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    <button id="button_a">Button Copy File A</button>
    <button id="button_b">Button Copy File B</button>
    <button id="button_c">Button Copy File C</button>
    <script>
    function copyFile(originFileId, copyTitle) {
    var body = {'title': copyTitle};
    var request = gapi.client.drive.files.copy({'fileId': originFileId,'resource': body});
    request.execute(function(resp) {console.log('Copy ID: ' + resp.id);});
    }
    document.getElementById("button_a").addEventListener("click", copyFile('./files/1/a.txt', './files/2/a.txt'));
    document.getElementById("button_b").addEventListener("click", copyFile('./files/1/b.txt', './files/2/b.txt'));
    document.getElementById("button_c").addEventListener("click", copyFile('./files/1/c.txt', './files/2/c.txt'));
    </script>
    </body>
    </html>
    

    Po spuštění dostanu chybu

    Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem:". Either the 'unsafe-inline' keyword, a hash ('sha256-sM9j1UeatRmsfdWERRqhids54g87aCF+he9zFlWMV5fN0='), or a nonce ('nonce-...') is required to enable inline execution.
    
    
    background.html
    Trasování zásobníku
    background.html:9 (anonymní funkce)
    
    PS: Na řádku 9 v background.html je <script>
    🇹🇬 avatar 16.3.2020 12:49 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    no tudletu konkrétní chybku de jako vobejít tim že skript strčíš samostatnýho souboru třeba to app.js a v html ho naimportuješ <script src="app.js"></script> pak by si to jako nemělo stěžovat. pokud si ti to v tenhleten moment jako začne stěžovat že neví nezná google drive že je nedefinovanej nebo tak nóó tak extension takle jednoduše nebude fungovat a gogle api se budou muset načíst ručně a neni to jako jenom specifikum mýho chromia :O :'(

    jako sem si s tim ještě chvilku hrála ale nemam to jak vyzkoušet protože google api nepoužívám a když sem se tam chtěla regnout tak hnedka jako dejsem číslo gréto my ti nevěříme že ty seš jako ty tak sem je jako poslala někam už teďko toho jako vo mě vědí děsně moc :O :O :'( :'( :D :D

    každopádně jak sem tam potřebovala přidat tamtu jejich knihovničku client.js tak sem to zabezpečení stejně snížila bylo to i v nějakým tutoriálu. nóóóó dostala sem se sem ale jak jako řikám nemam to zatim jak vyzkoušet :O :'(

    background.js je stejnej

    chrome.browserAction.onClicked.addListener(function(tab)
    {
            chrome.tabs.create
            ({
                    "url": "background.html"
            });
    });
    
    

    manifest.json má navíc tamto security policy pro google apis

    {
    "name": "Test56",
    "description": "Test56",
    "version": "1.0",
    "manifest_version": 2,
    "browser_action": {},
    "background": {
            "scripts": ["background.js"]
    },
    "permissions": ["notifications","activeTab","tabs"],
    "content_security_policy": "script-src 'self' https://apis.google.com/; object-src 'self'"
    }
    

    background.html je pár zbytečnejch blbinek navíc a skript je odělenej do app.js

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8"> 
    </head>
    <body>
    <button id="button_a" disabled>Button Copy File A</button>
    <button id="button_b" disabled>Button Copy File B</button>
    <button id="button_c" disabled>Button Copy File C</button>
    <p id="keci">čeká se na gapi!!!!!!!!</p>
    <script src="https://apis.google.com/js/client.js"></script>
    <script src="app.js"></script>
    </body>
    </html>
    

    app.js je uplně jiný

    //si to někde u nich musíš registrovat asi :O :O
    var PROJECT_ID = 'YOUR_PROJECT_ID';
    var CLIENT_ID = 'YOUR_CLIENT_ID';
    var API_KEY = 'YOUR_API_KEY';
    var SCOPES = 'https://www.googleapis.com/auth/drive';
    
    function authorization() 
    {
        gapi.client.setApiKey(API_KEY);
        gapi.auth.authorize
        (
            {
             client_id: CLIENT_ID,
             scope: SCOPES,
             immediate: false
            },
            function(authResult) 
            {
                    if (authResult && !authResult.error) {
                    console.log('Auth was successful!');
                    nastavKnofliky();
                    } else {
                    console.log('Auth was not successful');
                    }
            }
        );
    }
    
    function copyFile(originFileId, copyTitle)
    {
        var body = {'title': copyTitle};
        var request = gapi.client.drive.files.copy({'fileId': originFileId,'resource': body});
        request.execute(function(resp) {console.log('Copy ID: ' + resp.id);});
    }
    
    function nastavKnofliky()
    {
        var butt=document.getElementById("button_a");
        butt.disabled=false;
        butt.addEventListener("click", copyFile('./files/1/a.txt', './files/2/a.txt'));
                        
        butt=document.getElementById("button_b");
        butt.disabled=false;
        butt.addEventListener("click", copyFile('./files/1/b.txt', './files/2/b.txt'));
                        
        butt=document.getElementById("button_c");
        butt.disabled=false;
        butt.addEventListener("click", copyFile('./files/1/c.txt', './files/2/c.txt'));
                        
        document.getElementById("keci").innerHTML = "Načteno gapi mužem mačkat";
    }
    
    gapi.load('client', 
                function () 
                {
                    gapi.client.load('drive', 'v2',authorization);
                }
             );
    
    
    

     

    s google api ti asi jako moc nepomužu vyšla sem z tohodletoho hele:'( možná založ další dotaz třeba se někdo chytne protože pak by to jako byla záležitost javascriptu a google api néééé extension. exxtension je tam jenom taková jakože třešnička na dortíku :O ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    16.3.2020 22:56 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Děkuji za velkou snahu, ale nejde to. Našla jsem, že to ani není už možné udělat, ale moc tomu nevěřím. Mám nainstalované rozšíření 'Session Buddy' a ten ukládá lokálně spoustu dat, otázkou je jak to dělá :-(
    🇹🇬 avatar 17.3.2020 09:43 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    počkej počkej!!!! :O :O možná mi jako nejdřiv popiš o co se jako vlastně snažíš protože já z tý kopírovací funkce pochopila že se snažíš kopírovat soubory na googlím cloudu google drive ne že chceš dělat něco lokálně :O :O :D :D

    jinak kód extensions si mužeš prohlížet. nejdřivi si otevři chrome://extensions/ a tam jako pod každou tou extension uvidíš jeji id. nóóó a chrome/chromium maj tajný složky kde je uloženej profil včetně těch zdrojáčků rozšíření :O ;D

    v linuxu cesta ke složce ve který sou je ~/.config/google-chrome/Default/Extensions/ a pak id tý extension.složka extensions neexistuje dokavaď neni nainstalovaná aspoň jedna extension pak ji to jako vyrobí.

    pro windows by měla bejt cesta C:\Users\<Your_User_Name>\AppData\Local\Google\Chrome\User Data\Default\Extensions

    někdy prej muže bejt v zipu ta extension. v chromiu je tak nemam a sou to normální soubory. pěkný počtení to asi ale jako nebude ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    17.3.2020 12:53 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    Jejda to se velmi omlouvám, jsem kráva, nenapadlo mě, že bych mohla kopírovat soubory někde jinde než u sebe v počítači.

    Tak zkusím znova popsat.

    V pravo nahoře v Chrome jsem chtěla tlačítko, na které když kliknu, tak se načte html soubor s tlačítky (to díky tobě už mám a funguje to skvěle).

    A teď potřebuji po kliknutí na tlačítko udělat cokoli (na lokálním PC) aby jiný script běžící ve Windows poznal, na které tlačítko se v tom rozšíření kliklo a podle toho provedl danou akci.

    Jako první mě napadlo použít sessions nebo coockies ale ta jsou šifrovaná.

    Jako další mě napadlo zkopírovat do nějaké tempt složky (nebo přímo vytvořit jiný) soubor s nějakým názvem. A to si myslím, že by jít mělo. Na webu někdo psal, že to není možné, ale naše p. učitelka nás taky učila, že příjde doba, že si v obchodě vezmeme všechno co budeme potřebovat a nemusíme za to platit. Ta doba sice přišla, ale nějak opomenula sdělit, že se za to ty lidí zavírají :-D

    Nevím, myslím, že by ty soubory mohly jít vytvořit, co myslíš? ;-)

    17.3.2020 14:01 debian+
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Nehladas nahodou toto: https://github.com/dodo/chrome-terminal

    V tomto pripade spusta v JavaScripte JavaScript cez Node.js.
    17.3.2020 14:02 debian+
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    A popytaj autora o licenciu (nema ju tam uvedenu).
    17.3.2020 16:52 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Přes Node nee ;-)
    17.3.2020 14:40 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    Nedávno ma tu celkom prekvapil odkaz na FileReader pretože som si myslel, že dosiahnuť z JavaScriptu na lokálny disk sa nedá - a celkom to dáva zmysel. Bola by to diera ako hrom, nie? FileReader má zjavne výnimku a zafunguje len za špeciálnych okolností.

    Keď chceš siahať na lokálny systém, tak sa to dá urobiť cez native messaging, ale je to dosť netriviálne a treba na to ďalšiu natívnu aplikáciu.

    17.3.2020 16:53 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Ale to čte, nezapisuje...
    17.3.2020 17:38 rastos | skóre: 63 | blog: rastos
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    No iste. Ja FileReader nedávam ako tip, kam smerovať tvoje úsilie, ale ako poukázanie na to, že prístup na lokálny systém je úmyselne zakázaný, resp. obmedzený na minimum.
    🇹🇬 avatar 17.3.2020 20:17 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    jako já zase neměla blbě něco předpokládat a hnedka pohlavě skákat do skriptování to máš uplně fuk :D :D ;D

    jak už jako tady řikali tak přímo zapisovat někam uplně kamkoliv na disk z browseru je celkem nebezpečný. extensions maj nějakej svuj local storage hele a jestli je jako fakt nutný jako jít cestou souboru na disku tak si asi zistit kam co extension zapisuje a nějak to scanovat tim skriptem.

    mě ale napadlo něco jinýho co si myslim že je mnóóóóóóóhem lepšejší ale jako nepoužívat jako zase na něco rizikovýho hesla citlivý data a tak :O :O ;D

    mě napadlo použít webovou socketovou komunikaci websockets hele. teda nevim jestli to tvý řešení jako umožňuje ale na pozadí by furt běžel nějakej ten tvuj skript jako jakoby server a extension by se k němu připojila jako klient. a server by vždycky nějak zareagoval něčim nato co by mu extension jako klient posílala

     

    tady html extension. je pozměněná jenom trošku

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8"> 
    </head>
    <body>
    <button id="button_a" disabled>akce jedna</button>
    <button id="button_b" disabled>akce dva</button>
    <button id="button_c" disabled>akce tři</button>
    <p id="keci">cekame na spojeni!!!!!!!!</p>
    <script src="app.js"></script>
    </body>
    </html>
    

     

    a app.js

    var socket= new WebSocket('ws://localhost:8765');//připojujem se na tenhleten počítač na port 8765
    socket.onmessage = function(e){ console.log("server poslal: "+e.data); };
    socket.onopen = () => nastavKnofliky();
    
    function posliZpravu(zprava)
    {
        if (socket.readyState != socket.OPEN) 
        {
            console.error("webSocket is not open: " + socket.readyState);
            return;
        }
        socket.send(zprava);
    }
    
    function nastavKnofliky()
    {
        var butt=document.getElementById("button_a");
        butt.disabled=false;
        butt.addEventListener("click", function(){posliZpravu("jedna")});//musí to bejt takle pitomě zabalený v tý funkci jinak nefunguje :O :'( ;D
                        
        butt=document.getElementById("button_b");
        butt.disabled=false;
        butt.addEventListener("click", function(){posliZpravu("dva")});
                        
        butt=document.getElementById("button_c");
        butt.disabled=false;
        butt.addEventListener("click", function(){posliZpravu("tri")});
                        
        butt=document.getElementById("keci").innerHTML="máme spojení mužem mačkat :O :D";
    }
    

     

    sem  namastila jednoduchej server v pythonu nevim v čem skriptuješ ty. je to podle tohodletoho hele ;D

    potřebuje to mit nainstalovaný knihovny websockets a asyncio

    #!/usr/bin/env python
    
    import asyncio
    import websockets
    
    async def echo(websocket, path):
        async for message in websocket:
            
            print("mam zpravu od klienta: "+str(message))
            
            if message=="jedna":
                print("nejakej prikaz k akci jedna")
                await websocket.send("akce jedna provedena ;D")
            elif message=="dva":
                print("nejakej prikaz k akci dva")
                await websocket.send("akce dva provedena ;D")
            elif message=="tri":
                print("nejakej prikaz k akci tri")
                await websocket.send("akce tri provedena ;D")
            else:
                print("nevim :O :O")
                await websocket.send("ja ti nerozumim :D")
    
    asyncio.get_event_loop().run_until_complete(
        websockets.serve(echo, 'localhost', 8765))
    asyncio.get_event_loop().run_forever()
    

    jako funguje to tak že nejdřiv pustíš ten skript python3 wserver.py a až pak mužeš mačkat ty čudliky jinak ti bude extension nadávat že neni spojení. klinet do webový konzole piše co mu server posílá zpátky se nějaká zpětná vazba ze servru možná taky muže hodit k něčemu v tý tvý extension ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    17.3.2020 21:58 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    No přesně takto to mám teď. Mám nainstalovaný webserver apache + php a na pozadí mám spuštěný loop.bat který hlídá adresář a podle toho reaguje. Problém je v tom, že musím mít nainstalovaný ten webserver, chtěla jsem to vytvořit líp, bez použití localhost-u.

    Tvé řešení ale vypadá, že by to snad mohlo jít i bez instalace localhostu. Možná i bez instalace pythonu?

    Opět moc děkuji, jdu to vyzkoušet.

    🇹🇬 avatar 18.3.2020 11:21 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    jako na todleto apache mysql ani php neni nutný ;D a localhost neni něco co by se instalovalo je to jakoby prostě tento počítač hele :O :O ;D

    websockety sou nějaká nadstavba nad obyč tcp protokolem a to neni o použitým jazyku websocket server jako pude snad namastit skoro v čemkoliv tady třeba v takovým tom jejich divným ale ve win světě používaným c# hele tutorial c# websocket server a javascript client :O :O ;D

    s win ti ale neumim poradit jak websocketserver pustit bezpečně jako službu kterou by to furt nahazovalo kdyby třeba spadla a hlídalo jeji běh a tak a nevim jestli takový věci bude vědět třeba i někdo tady :'( systemd tam ve windows asi nemáš že :O :O :D :D ;D

    nóóóóó a mužu se ještě jako zeptat proč to musí bejt ta extension do chromu nebylo by jednoduší udělat nějakou gui apku s tlačítkama co by akce jako dělala rovnou když už to má bejt jenom na jednom compu všecko?? ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    19.3.2020 13:30 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Tak systemd ve windows nemám. Proč jsem chtěla extension v chromu je ten, že jsem si myslela, že to bude jednoduché řešení, opak se stal pravdou :-)
    ..nebylo by jednoduší udělat nějakou gui apku s tlačítkama...
    Jakou apku přesně myslíš?
    🇹🇬 avatar 19.3.2020 22:37 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    jako jakou apku mi spíš jako řekni ty ;D

    co sem tak zatim jako pochopila tak ty chceš nějakaký klikátko s tlačítkama a vždycky když nějaký máčkneš tak se něco na tom samým počítači udělá. nóó a na to by stačila nějaká jednoduchá aplikace nějakej malej prográmek s grafickým uživatelským rozhraním kde by byli všecky ty tlačítka a každý to zmáčknutí by uďálo nějakou tu tvou akci. by se to jako taky obešlo bez tý server/client komunikace bylo by to bezpečnější jednoduší a tak ;D

    nevim o co se jako přesně snažíš ale předpokládám že máš nějaký ty hádám windowsí *.bat skripty který něco dělaj a chtěla bys je pouštět tlačítkama v nějakým grafickým rozhraní?? :O :O tošičku víc nám problém popiš jestli to neni jako něco děsně tajnýho :O :O :D ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    20.3.2020 11:53 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Je to přesně jak píšeš, ale neznám žádný jednoduchý program, který by uměl vytvořit nějaké grafické okno s tlačítky.
    20.3.2020 14:13 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Pokud by nebyla podmínka, že to musí být GUI, ale stačí textově, tak *.bat skripty umí přijmout vstup z klávesnice. Takže by to v reálu vypadalo tak, že bys spustila "tvuj.bat" a objevila by se ti textově nabídka tvych voleb co požaduješ a podle toho co uživatel na klávesnici zmáčkne (např. volby 1-10), tak podle toho se spustí daný script, který ti nakopíruje ty lokální soubory.
    20.3.2020 14:58 Veronika
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Díky za tip - znám i používám, chtěla bych grafické klikátko. Teď tady brečím nad Autoit - což je nějaký programovací jazyk pro Windows.
    🇹🇬 avatar 20.3.2020 15:06 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    nóóóó jestli si jako mužeš vybírat proč jako nešáhnout po něčem co ti bude běhat jak pod win tak i pod linuxem třeba python?? :O :O

    je jednoduchej rychle vněm de namastit skoro cokoliv i to gui by uměl a tak ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶
    20.3.2020 17:46 LarryL | skóre: 27
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome
    Osobně nepoužívám, ale co zkusit Batch-HTA.
    🇹🇬 avatar 20.3.2020 15:01 🇹🇬 | skóre: 37 | blog: Grétin blogísek | 🇮🇱==❤️ , 🇵🇸==💩 , 🇪🇺==☭
    Rozbalit Rozbalit vše Re: Primitivní rozšíření pro Google Chrome

    jako je dost pravděpodobný že už bude hotový nějaký řešení na tehleten problém ale nevim nic se mi nedaří najít :'(

    předpokládám že umíš s těma *.bat skriptama a tim divným jazykem a tady hele je jako nějaký snad jednoduchý řešení s gui okýnkem ;D

    stasi se probouzí 🕵️🇩🇪 indové říděj🚚🇮🇳 plavba🍉🛶

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.