gpt4 book ai didi

Delphi TWebBrowser 不响应单击文件超链接

转载 作者:行者123 更新时间:2023-12-03 15:58:43 25 4
gpt4 key购买 nike

我有 TWebBrowser 组件(Delphi 7),并且我从内存流加载了 HTML。页面的 HTML 代码加载良好,页面显示正确。但是,当我尝试单击任何带有地址(href 属性值)的超链接(例如“file:///C:/dir/page.html”)时,什么也没有发生。没有错误消息,浏览器也不会尝试转到另一个页面。 URL 100% 正确 - 当我将相同的网页加载到同一个 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 的行为方式相同 - 我刚刚重新检查了它。

我考虑使用临时目录中的文件。

<小时/>

感谢大家,我终于通过使用临时目录中的文件解决了这个问题。

最佳答案

针对您的问题:Internet Explorer 本身是错误的

也就是说,自 IE 7 起,如果不更改安全设置,就不可能从从 file://位置以外的其他位置加载的网站访问本地文件。正如您已经提到的,最简单的解决方法是从文件打开网站://来自本地驱动器的位置,然后您将获得此访问权限。

以下是一些有关此内容的令人热泪盈眶的文章:

File URI link to local folder in IE7 not working
http://blogs.msdn.com/b/freeassociations/archive/2005/05/19/420059.aspx
http://blogs.msdn.com/b/ie/archive/2005/08/15/452006.aspx

关于Delphi TWebBrowser 不响应单击文件超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5795497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com