c# - IE7 中的多个选项卡与工具栏的一个实例

标签 c# internet-explorer

我用 C# 为 Internet Explorer 开发了一个工具栏,用于从外部应用程序发送和接收 URL。它在 IE6 中运行良好,但我想利用新版本 (IE7) 中的选项卡式浏览,但我遇到了麻烦。在 IE7 中,每个选项卡都算作一个单独的实例,因此也是我工具栏的一个单独实例。

在我的一生中,我找不到让单个实例出现在单个 IE 窗口中的每个选项卡上的方法。我所能想到的就是注册为 ROT 的 com 对象,并让每个实例进行通信并镜像所有其他实例,但这似乎不必要地复杂。有没有人找到解决方法?

最佳答案

因为您没有详细说明您的工具栏在做什么,我假设当您打开多个选项卡时,它会占用一些资源……内存、网络、远程源上的连接等。

与其确保只有一个实例在运行,我的建议是通过监听 WindowStateChanged 事件来跟踪哪个选项卡处于事件状态,然后您可以做多种事情:

  • 在通讯不活跃时关闭它。
  • 通知远程源该选项卡未激活。
  • 只是不在非事件标签中显示通知。
  • 停止您在工具栏中运行的所有线程。
  • 等等

关于c# - IE7 中的多个选项卡与工具栏的一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/983129/

相关文章:

c# - XOR 运算符 - 它是如何工作的?

c# - Azure表存储: maximum variable size?

c# - 如何在docker中设置dotnet core的环境?

Javascript,检测文本框是否有焦点?

c# - 每次刷新页面都会插入新行

c# - 类型直接或间接取决于自身 Simple Injector

javascript - 在 Twitter BootStrap 嵌套下拉列表中托管一个选择列表(特定于 IE 9)

html - 以 Quirks 模式显示的 XSL 网页

DIV top 属性的 CSS 跨浏览器问题

css - 在 IE 中打印时遇到问题