2017-10-21 6 views
0

Ich verwende PowerBuilder 2017 und habe ein OLE-Steuerelement (Microsoft Web Browser) mit einer lokalen HTML-Datei mit Leaflet JS erstellt.Javascript Ereignis Rückruf zu PowerBuilder mit Daten

Wenn ein Benutzer auf eine Markierung in der Broschüre klickt, möchte ich einen Referenzwert (Koordinaten) an PowerBuilder zurücksenden, wo der Code dort auf das Benutzerereignis reagieren kann.

Meine Frage ist, wie bekomme ich ein Javascript-Ereignis, um auch ein Ereignis in der PowerBuilder Hauptanwendung auszulösen?

Antwort

1

Nach viel Untersuchung habe ich es geschafft, mein Problem zu lösen, habe ich den folgenden Code in Powerbuilder, innerhalb der Click-Ereignis des OLE Control:

oleobject lole_data 
string ls_innertext, ls_classname 

lole_data = This.Object.Document.ActiveElement 

if not IsNull(lole_data) then 

    ls_classname = Lower(string(This.Object.Document.ActiveElement.classname)) 
    if ls_classname = "leaflet-popup-content" then 
     ls_innertext = string(lole_data.parentNode.InnerText) 
    end if 

end if 

active die Methode zu verwenden ist. Ich erhalte die Leaflet-Klasse und kann feststellen, dass es sich tatsächlich um ein Marker PopUp handelt, auf das geklickt wurde.