Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Chrome Extension popup click in background abfangen

Frage Entwicklung JavaScript

Mitglied: EvilMoe

EvilMoe (Level 2) - Jetzt verbinden

10.01.2015, aktualisiert 15:22 Uhr, 1158 Aufrufe, 8 Kommentare

Hallo,


Ich arbeite gerade an einer Chrome Erweiterung. Ich habe da ein Problem mit dem Popup (wenn man auf das Icon der Erweiterung klickt). Dort habe ich einen Link der ein Screenshot automatisch erstellt und hochlädt.
Das funktioniert auch, leider nur wenn man das Popup auch auf lässt. Schließe ich es direkt da nach (einfacher klick woanders) wird das Script einfach beendet.

Gibt es eine Möglichkeit das ich den click auf den Link im Popup anders abfangen kann, um ihn z.B. in der background.js zu verarbeiten?



Gruß
Sven
Mitglied: 114757
10.01.2015, aktualisiert um 14:49 Uhr
Moin,
mach es doch ohne Popup dann kannst du den Click auf das Icon der Erweiterung (browserAction) über die im Callback-Parameter definierten Funktion des Events verarbeiten und deinen Link dann via JavaScript aufrufen:
https://developer.chrome.com/extensions/browserAction#event-onClicked

Hinweis: Es darf kein Popup definiert sein damit du das Event abonnieren kannst.

Gruß jodel32
Bitte warten ..
Mitglied: EvilMoe
10.01.2015 um 14:50 Uhr
Hallo,

Leider ist das nicht möglich. Es gibt im Popup mehrere Links mit unterschiedlichen Funktionen.


Sven
Bitte warten ..
Mitglied: 114757
LÖSUNG 10.01.2015, aktualisiert um 15:22 Uhr
Würde es dir denn was nutzen wenn du eine Funktion aus der Popup-Datei in der background.js triggerst wenn du auf den Link klickst ?
Das geht über Message Passing

Hier ein Beispiel:
http://stackoverflow.com/questions/5443202/call-a-function-in-backgroun ...
Bitte warten ..
Mitglied: EvilMoe
10.01.2015 um 15:21 Uhr
Genau das schaue ich mir gerade.

Funktioniert zumindest so wie ich es wollte, ob s so auch sauber ist, kann ich nicht beurteilen (erste Chrome Erweiterung).
Aber das hat mir auf jeden Fall ein Problem gelöst ;)

Danke!
Bitte warten ..
Mitglied: 114757
10.01.2015, aktualisiert um 15:37 Uhr
ob s so auch sauber ist, kann ich nicht beurteilen
Das ist gängige Praxis bei Popups die Funktionen aufrufen müssen die das Schließen des Popups überleben müssen. Also keine unnötigen Gedanken machen

Freut mich das ich helfen konnte.
Gruß jodel32
Bitte warten ..
Mitglied: EvilMoe
10.01.2015, aktualisiert um 15:59 Uhr
Eine Frage dies bezüglich hätte ich noch. Ich möchte 2 Request nacheinander schicken, leider kommt nur die erste an. Ich finde zwar ein paar Sachen dazu, aber leider hilft das nicht bei mir.
Bsp.:

01.
chrome.extension.sendRequest({ action: "DoUpload", image: url }); 
02.
chrome.extension.sendRequest({ action: "notification", msg: "Uploading..." });

EDIT: Etwas genauer: Ich sende beim klicken eines Links auf der popup einen sendRequest die in der background eine Funktion aufruft. Diese Funktion soll nun ein weiteren Request senden können (notification).
Bitte warten ..
Mitglied: 114757
11.01.2015, aktualisiert um 09:52 Uhr
Zitat von EvilMoe:

EDIT: Etwas genauer: Ich sende beim klicken eines Links auf der popup einen sendRequest die in der background eine Funktion aufruft.
OK
Diese Funktion soll nun ein weiteren Request senden können (notification).

Warum rufst du die Funktion in der background.js dann nicht einfach erneut auf ?? Bzw. in welche Richtung soll dieser Request gesendet werden, an den Popup ?

Im obigen Link zu Message Passing kannst du nachlesen das es eine Callback-Funktion gibt über die du Responses der anderen Seite verarbeiten kannst. Somit kannst du das Popup über den Status informieren. Stichwort: sendResponse()
Bitte warten ..
Mitglied: EvilMoe
11.01.2015 um 11:39 Uhr
Das brauchte ich doch gar nicht. Es funktionierte einfach nicht (Notifikation erschien nicht), daher dachte ich das es nicht in ein backgroundscript laufen darf.

Gibt es eine Möglichkeit eine Rich Notification länger offen zu lassen? Es gibt zwar "eventTime" (zb. eventTime: (Date.now() + 30000)), dennoch schließt sich das nach einigen Sekunden.
Bitte warten ..
Ähnliche Inhalte
Netzwerkprotokolle
gelöst IPv6 - Privacy Extensions (2)

Frage von zomaryix zum Thema Netzwerkprotokolle ...

Visual Studio
gelöst C-Sharp WPF Controls und Extensions (3)

Frage von mayho33 zum Thema Visual Studio ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...

Webbrowser
Chrome settings werden offline nicht angezeigt (2)

Frage von Akcent zum Thema Webbrowser ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...

Voice over IP
Über Fritzfax over IP gehen nur einige Faxe (12)

Frage von shearer9 zum Thema Voice over IP ...