Internet explorer 即;“每浏览器”;浏览器栏

Internet explorer 即;“每浏览器”;浏览器栏,internet-explorer,internet-explorer-9,mshtml,shdocvw,Internet Explorer,Internet Explorer 9,Mshtml,Shdocvw,有没有办法在IE中创建一个“每浏览器”的浏览器栏,这意味着所有打开的选项卡都有一个通用的浏览器栏?按照MS指南创建的浏览器栏是“每个选项卡”,这意味着在每个新选项卡上都会打开一个新的浏览器栏。或者,是否有办法在内置的“每浏览器”浏览器栏中显示HTML文档-“收藏夹”、“提要”、“讨论”等?没有内置的方法。浏览器栏的可扩展性模型规定浏览器栏和选项卡之间的比例为1:1。原因很多,通常与从IE6到带标签的现代网络浏览器的最简单路径有关。考虑一下基于OLE的体系结构:首先,您拥有由IObjectWith

有没有办法在IE中创建一个“每浏览器”的浏览器栏,这意味着所有打开的选项卡都有一个通用的浏览器栏?按照MS指南创建的浏览器栏是“每个选项卡”,这意味着在每个新选项卡上都会打开一个新的浏览器栏。或者,是否有办法在内置的“每浏览器”浏览器栏中显示HTML文档-“收藏夹”、“提要”、“讨论”等?

没有内置的方法。浏览器栏的可扩展性模型规定浏览器栏和选项卡之间的比例为1:1。原因很多,通常与从IE6到带标签的现代网络浏览器的最简单路径有关。考虑一下基于OLE的体系结构:首先,您拥有由IObjectWithSite设置的站点对象。您可以使用该站点查询诸如IWebBrowser2、当前IHTMLDocument2等内容。扩展通常会在获取这些指针时缓存它们。因此,您需要1:1的对应关系

如果你想有一个单实例浏览器栏,你可以这样做,但这将涉及到重新建立子窗口的父窗口交叉进程,以及一大堆基于BHO的代码来获得IE的窗口状态。最好让您的状态易于序列化,处理DWebBrowserEvents2::WindowsStateChanged并伪造它