可以将AddEventListener与CDEF4一起使用吗?

时间:2019-07-08 14:06:27

标签: delphi chromium

我正在使用Delphi XE2和CHromium CDEF4。我正在尝试通过chromiumwindow组件使用网页,并希望检测何时选择/单击了元素。

我看到了这篇文章。

finalView

不幸的是,我在CDEF4库中找不到函数AddEventListenerProc。我也找不到监视按钮/元素单击的替代方法。

我想使用chromewindow组件充当应用程序的“前端”,并希望监视用户按钮的点击等。

任何人都可以帮忙吗?我确实尝试过开发人员论坛,但那里没有太多活动,因此无法注册。

非常感谢..

1 个答案:

答案 0 :(得分:1)

DCEF3项目在这里有一个小组:https://groups.google.com/forum/#!forum/delphichromiumembedded

但是CEF4Delphi和OldCEF4Delphi项目在这里有一个开发人员论坛: https://www.briskbard.com/forum/

该论坛几乎每天都有新帖子,我通常会在不到24小时内尽快答复。

如果您在创建帐户时遇到问题,请给我发送一条消息,我会手动激活您的帐户。

您发布的链接很旧,自2012年以来,CEF中发生了许多变化。

有几种方法可以检测何时选择,单击等HTML元素。

  • 您可以使用JavaScript事件(例如“ onclick”)来调用自定义JavaScript扩展。该扩展程序将向浏览器进程发送一条过程消息,以通知用户单击了该元素。
  • 您还可以使用在聚焦HTML元素时触发的GlobalCEFApp.OnFocusedNodeChanged。此事件是在“渲染”过程中执行的,因此您还需要向主浏览器进程发送一个焦点已更改的过程消息。

使用JSRTTIExtension或JSExtension演示作为应用程序的模板。

它们向您展示如何设置“ mouseover”事件,该事件调用自定义JS扩展中定义的“ myextension.mouseover”函数。 myextension.mouseover函数执行Delphi代码,并通过状态栏中显示的一些HTML信息将过程消息发送到主浏览器过程。

他们也有一个“ MutationObserver”示例,该示例在JS扩展中调用通用的“ myextension.sendresulttobrowser”函​​数,该函数将“ value”属性发送到浏览器进程。

构建演示,并在网页完全加载后右键单击该网页。然后选择“设置鼠标悬停事件”或“添加突变观察者”选项来测试我所描述的内容。