2012-09-28 19 views
2

我有一個C++應用程序使用IWebBrowser2接口來渲染一些在線html頁面。 問題是,當訪問某個鏈接時,我收到一個JavaScript錯誤,儘管如果我正在使用Internet Explorer訪問同一頁面,該頁面將無錯誤地加載。 在我的應用程序recived錯誤是「對象不支持此操作」如何解決使用IWebBrowser2的應用程序中的javascript錯誤?

我能夠隱藏錯誤通過使用put_Silent()方法並將其設置爲VARIANT_TRUE,但這不是一個解決方案作爲內容顯示不正確。

我知道IWebBrowser2的是使用Internet Explorer引擎加載網頁,所以我想,有解決這個問題的頁面加載在IE中確定的方式。

+0

您是否嘗試過其他的瀏覽器,看看如果他們給了同樣的錯誤? – RvdK

+0

您可以在IE中使用Javascript調試器來查看究竟代碼失敗。 –

+0

我正在加載的頁面不是由我創建的。我不想修復html(如果有任何問題)。我只想在我的應用程序中具有與在IE中相同的行爲。 –

回答

2

您可能必須執行IDocHostShowUI::ShowMessage

當你的應用程序承載瀏覽器控件,可以更換 的Windows Internet Explorer消息框標題與自定義標題

我認爲(這是用於 Microsoft JScript中的除其他事項外警報)你會想要返回S_FALSE。

S_FALSE主機並沒有顯示它的UI。 MSHTML顯示其消息框。

相關問題