2010-11-28 4 views
0

Ich bin ziemlich neu beim Erstellen von Safari Extensions und suche nach Ratschlägen bezüglich der Übergabe einer Variablen von der aktiven Registerkarte an die Symbolleiste der Erweiterung.Safari Extension: Übergabe der Variablen von der aktiven Registerkarte zur Symbolleiste

Ich verwende ein Framework namens jsPDF, das PDFs mit Javascript erstellt. Im Moment habe ich eine einfache Symbolleiste mit einer Schaltfläche zum Klicken, die eine PDF-Datei für den Namen und das gekaufte Produkt eines Kunden generiert und einen einfachen Lieferschein erstellt. Das funktioniert einwandfrei, es enthält nur einen Platzhaltertext.

Der Name und das gekaufte Produkt des Kunden befinden sich auf der Hauptseite eines webbasierten Systems (Klartext innerhalb eines DIV namens #name und #product). Was ich tun möchte, ist, wenn der Knopf gedrückt wird, erhält es den Namen und das Produkt, das vom entsprechenden DIV (#name und #product) gekauft wird und der Text wird als eine Variable innerhalb der Werkzeugleiste definiert. Der PDF-Generator funktioniert nur mit einer Standardvariablen, daher brauche ich mehr Hilfe, wie man die Symbolleiste über ein Proxy-Skript dazu bringt, den Namen und das Produkt zu erhalten.

Wenn irgendjemand etwas Licht auf diese Art und Weise werfen könnte - ich habe den Extension Developer Guide gelesen, der sehr nützlich war, aber ich kann einfach nicht herausfinden, wie es geht.

Antwort

0

Von dem injizierten Skript:

safari.self.tab.dispatchMessage("messageName", { messageObject }); 

in der Symbolleiste:

safari.self.browserWindow.addEventListener("message", messageHandler, false); 
function messageHandler(event) 
{ 
    if (event.name === "messageName") 
     doStuffHereWithMessageObject(); 
} 
Verwandte Themen