2011-02-24 240 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並僞裝它。

相關問題