Javascript 带有数据的事件回调到 PowerBuilder
Javascript event callback to PowerBuilder with data
我正在使用 PowerBuilder 2017 并使用 Leaflet JS 创建了一个带有本地 html 文件的 OLE 控件(Microsoft Web 浏览器)。
当用户点击传单地图上的标记时,我希望将参考值(坐标)发送回 PowerBuilder,其中的代码可以对用户事件做出反应。
我的问题是如何让 javascript 事件同时触发主 PowerBuilder 应用程序中的事件?
经过大量调查我设法解决了我的问题,我将以下代码添加到 PowerBuilder 中,在 OLE 控件的单击事件中:
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
ActiveElement 是要使用的方法。我获得了 Leaflet class 并且可以确定它实际上是一个被点击的 Marker PopUp。
我正在使用 PowerBuilder 2017 并使用 Leaflet JS 创建了一个带有本地 html 文件的 OLE 控件(Microsoft Web 浏览器)。
当用户点击传单地图上的标记时,我希望将参考值(坐标)发送回 PowerBuilder,其中的代码可以对用户事件做出反应。
我的问题是如何让 javascript 事件同时触发主 PowerBuilder 应用程序中的事件?
经过大量调查我设法解决了我的问题,我将以下代码添加到 PowerBuilder 中,在 OLE 控件的单击事件中:
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
ActiveElement 是要使用的方法。我获得了 Leaflet class 并且可以确定它实际上是一个被点击的 Marker PopUp。