2011-02-24 242 views
3

有没有办法在IE中创建“每浏览器”的浏览器栏,这意味着所有打开的标签浏览器栏通用?按MS准则创建的浏览器栏是“每个选项卡”,这意味着每个新选项卡上都会打开一个新的浏览器栏。或者,有没有一种方法可以在内置的“每个浏览器”浏览器栏之一中显示HTML文档 - “收藏夹”,“Feeds”,“讨论”等。IE浏览器“浏览器”浏览器栏

回答

1

有没有这样做的内置方式。 Explorer栏的可扩展性模型决定了Explorer栏和Tabs之间的1:1比例。原因很多,并且通常与从IE6到具有Tabs的现代浏览器的最简单路径有关。想想基于OLE的架构:对于初学者,您有您的站点对象,由IObjectWithSite设置。您可以使用该站点来查询IWebBrowser2,当前IHTMLDocument2等内容。通常,扩展程序在获取这些指针时缓存这些指针。因此你想要这个1:1的对应关系。

如果你想拥有一个实例浏览器栏,你可以这样做,但它会涉及重新生成子窗口跨进程,以及一大堆基于BHO的代码来让IE的窗口状态恰到好处。你最好使你的状态可以很容易地序列化,处理DWebBrowserEvents2 :: WindowStateChanged并伪装它。

相关问题