Anonymní profil Damo – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Damo – Programujte.comAnonymní profil Damo – Programujte.com

 

Příspěvky odeslané z IP adresy 94.112.186.–

Damo
JavaScript, AJAX, jQuery › Chrome Extension
12. 6. 2020   #386235

#8 peter
On ten kod neni dlouhy, ale uz jsem na to prisel, volam to v zanorem javascript filu a tam ten eventlistener uz nefugnuje

dle manifestu mam nastaven inject.js a ten podstrci dalsi javascript content.js do stranky. Já náslouchal v tom content.js namísto v tom inject.js. Kod jsem presunul do inject js a tam už to funguje.

 "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "run_at": "document_idle",
      "js": ["js/inject.js"],
      "all_frames": true
    }
  ],
  "web_accessible_resources" : ["js/content.js"],
  "background": {
    "scripts": ["background.js"]
  },

Díky

Damo
JavaScript, AJAX, jQuery › Chrome Extension
12. 6. 2020   #386232
Damo
JavaScript, AJAX, jQuery › Chrome Extension
12. 6. 2020   #386231

Dívám se na developer.chrome.com
https://developer.chrome.com/…ns/messaging

Proč to nemají aktuální, když mně to píše, že chrome.runtime.onMessage.addListener() is deprecated, netuším

Nicméně náhrada za addEventListener("message",... není adekvátní, protože tu message neodchytne.

Takže čím to nahradit, možná "message" není správné event, ani "onmessage" nic nezachytí.

 

Damo
JavaScript, AJAX, jQuery › Chrome Extension
12. 6. 2020   #386230

#2 peter
Tu polozku message si posilam ja v jsonu, měla by se projevit v event.data

ten event kdyz prijdme zpravu tak pod event se skrývá toto, viz obrazek. Jenze mi tam ta zprava nedorazi. Díval jsem se na to co jsi posilal, zkousel jsem ten channel, port na onmessage, ale nic to nedela.
 

Připojen obrázek.

Damo
JavaScript, AJAX, jQuery › Chrome Extension
12. 6. 2020   #386227

Potřebuji si odeslat message z popup. js do content.js. Ale nedaří se mi tu message odchytit

v popup.js mám  

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
        var activeTab = tabs[0];
        chrome.tabs.sendMessage(activeTab.id, {"message": "start"});
});

v content.js mám
 

addEventListener('message', function(event) {
    if (event.data.message === "start") {
        console.log(event.data);
        chrome.tabs.sendMessage({"message": "spusteno"});
    }
});

tento eventListener funguje, vidim v consoli kdyz si to detekuji, ze zpravy prichazi, ale neprijde zprava z popup.js
Hledal jsem priklady, ale vsude je mají s chrome.runtime.onMessage.addListener, a to mi chrome hlasi jako deprecated a nefunguje to. Napada me, ze addEventListener pouze bere zpravy prichazejici ze stranky, nikoliv z extension, ale pak nevim jak to nastavit.

manifest.json

"content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "run_at": "document_idle",
      "js": ["js/inject.js"],
      "all_frames": true
    }
  ],
  "web_accessible_resources" : ["js/content.js"],
  "background": {
    "scripts": ["background.js"],
    "persistent": true
  },

Ví někdo kde je chyba, máte nějaký funkční kod?

Díky

 

 

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