gpt4 book ai didi

.net - 监听来自 BHO 的 HTML 事件

转载 作者:行者123 更新时间:2023-12-02 02:36:27 28 4
gpt4 key购买 nike

我一直在研究用 C# 编写的 BHO/工具栏,它监听浏览器当前网页上引发的 HTML 事件。该解决方案包括一个名为 HtmlPageEventManager 的可重用类,其目的是为每个打开的新网页订阅给定的 HTML 事件列表。目标是在用户可以开始与页面元素交互时立即附加处理程序,甚至在页面加载完成之前。使用这个类很简单——只需调用构造函数:

var evts = 新列表(){
HtmlEvent.onclick, HtmlEvent.ondblclick, HtmlEvent.onkeydown,
HtmlEvent.onselectstart, HtmlEvent.onselectionchange,
HtmlEvent.onfocus, HtmlEvent.onselect
};
new HtmlPageEventManager( this, evts, this.HtmlEventHandler );

download my solution here尝试一下并向我发送反馈。如果您觉得它有用,请随意在您自己的项目中使用它。尽管它运行良好,但有时它无法附加事件。我很难确定这些情况。所以我可以使用一些帮助来改进 HtmlPageEventManager。

我的解决方案引用 SpicIE的程序集,但它们未包含在上述下载中,因此您需要从 the SpicIE website 获取它。 .顺便说一句,这可能是提问的好时机:SpicIE 有多受欢迎?有什么更好的工具可以使用吗?

最佳答案

是的!我通过订阅 BHO 的 DownloadComplete 事件克服了“刷新”问题,在那里我再次调用附加 HTML 事件处理程序的“RegisterEventHandlers”辅助方法。链接到的代码 jeffamaphone 很有帮助。我结合了“normalPageLoad”成员变量的想法来有条件地调用 RegisterEventHandlers。我也看了the accompanying forum post .不过,我无法理解对父窗口的 Loaded 事件的强调。我什至没有做那部分就让我的代码工作。无论如何,我认为 HtmlPageEventManager 现在功能齐全——敲木头。如果你发现它仍然没有完成它的工作,请给我一个呼喊。

关于.net - 监听来自 BHO 的 HTML 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1415364/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com