我有TWebBrowser組件(德爾福7),我從內存流加載HTML。頁面的HTML代碼加載正常,頁面顯示正確。但是,當我嘗試點擊任何帶有地址(href屬性值)的超鏈接時,如「file:/// C:/dir/page.html」,則不會發生任何事情。沒有錯誤消息,並且瀏覽器不會嘗試轉到其他頁面。該URL是100%正確的 - 當我加載相同的網頁到同一TWebBrowser實例,但從硬盤上的文件,而不是從內存流,正是這個鏈接工作正常。 任何想法可能是錯的?德爾福TWebBrowser不響應點擊文件超鏈接
我試圖執行以下語句:
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_INTRANET, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_TRUSTED, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_INTERNET, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_UNTRUSTED, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_LOCAL_MACHINE, 'about:blank', SZM_DELETE));
OleCheck(WebBrowser.SecurityManager.SetZoneMapping(URLZONE_LOCAL_MACHINE, 'about:blank', SZM_CREATE));
,但他們並沒有改變任何東西(它們被正確執行,沒有錯誤,即HRESULT = S_OK所有的時間)。我必須說組件實際上是TEmbeddedWB(它有SecurityManager屬性),儘管TWebBrowser的行爲方式相同 - 我只是重新檢查它。
我考慮訴諸在臨時目錄中使用文件。
感謝所有,我最終通過使用臨時目錄中的文件解決了這個問題。
您是否嘗試過更換'文件:///'鏈接與普通'HTTP://'鏈接? – 2011-04-26 20:18:34
我剛試過。與「http://」協議的鏈接確實有效。 「file://」鏈接不。 – GreyWolf 2011-04-26 20:46:04
點擊「file:///」鏈接時似乎沒有任何反應。我檢查了我定義的所有事件處理程序,並且它們都沒有被調用。 – GreyWolf 2011-04-26 20:49:01