如何在 Firefox 扩展中实现观察者模式?

发布于 2024-10-28 09:51:35 字数 717 浏览 1 评论 0原文

我正在尝试在 Firefox 扩展中实现一个简单的观察者模式。这最初看起来相对容易,但我认为从库中获取功能是有意义的

  • JS.Observable 似乎是一个不错的选择,但我发现 JS.Class 不喜欢从扩展中运行,因为 DOM 不在它期望的位置,等等。

  • bind 似乎提供了一种替代方案,显然 JQuery 应该在扩展的上下文中工作。这依赖于绑定到 DOM 对象,这对于我想要做的事情来说似乎有点令人讨厌。

  • YUI 的 自定义事件 似乎很理想,但 YUI 无法在扩展内工作。< /p>

是否有我可以使用的观察者模式的良好实现,或者我应该按照类似 这个来自 O'Reilly Answers

I'm trying to implement a simple Observer pattern within a Firefox extension. This initially appears relatively easy, but I thought it made sense to get the functionality from a library

  • JS.Observable seemed like a good option, but I found that JS.Class is unhappy running from within an extension as the DOM is not where it expects it to be, etc.

  • JQuery's bind appears to offer an alternative and apparently JQuery should work inside the extension's context. This relies on binding to a DOM object which seems a little nasty for what I'm trying to do.

  • YUI's Custom Event seems ideal, but YUI does not work inside extensions.

Is there a good implementation of the Observer pattern that I can use, or should I just write it by hand following something like this from O'Reilly Answers?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

折戟 2024-11-04 09:51:35

如果您完全使用 Chrome 代码工作,我只会使用 Observer Service

If you're working completely in chrome code, I would just use the Observer Service.

一曲琵琶半遮面シ 2024-11-04 09:51:35

使用 jQuery 自定义事件发布/订阅 博客文章解释说,JQuery 的绑定可以可以应用于任何对象,而不仅仅是 DOM 对象。所以,这就是我所采用的解决方案,我遵循 在 Firefox 扩展中使用 jQuery 的指南让 JQuery 在我的命名空间扩展中正常工作。

The Publish/Subscribe with jQuery Custom Events blog post explained that JQuery's bind could be applied to any object, not just a DOM object. So, that's the solution I've gone with, I followed A Guide To Using jQuery Inside Firefox Extension to get JQuery working nicely inside my namespaced extension.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文