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, 1110 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Webbrowser
Google stopft 36 Löcher in Chrome 55

Link von runasservice zum Thema Webbrowser ...

Windows Server
gelöst Active Directory File Extension - Associated Program (11)

Frage von adm2015 zum Thema Windows Server ...

Windows Server
Google Chrome Web Store Problem auf Terminal Farm

Frage von dakoerry zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...