【发布时间】:2010-04-21 21:41:51
【问题描述】:
我有一个创建 HTML 文件的 Delphi 程序。稍后当按下按钮时,会创建一个 TWebBrowser,并会创建一个 WebBrowser.Navigate 来显示 html 页面。
是否可以设置 WebBrowser 的“默认目录”,使其始终是 Delphi 可执行文件的位置而不是 HTML 文件?
我不想将 HTML 中的 Base 值设置为硬编码值,因为当从另一个 Delphi exe 运行 HTML 时,找不到它们。
例如:
如果 exe 从 D:\data\delphi\pgm.exe 运行,则基本位置 D:\data\delphi\ 和 jpg 位于 D:\data\delphi\jpgs\
但如果 exe 从以下位置运行:C:\stuff\pgm.exe 我希望基本位置为 C:\stuff\,而 jpg 位于 C:\stuff\jpgs\
所以我不能在 HTML 中用基本位置写一行,因为当它从另一个 exe 运行时,它会指向该 exe 的错误位置。
所以我要么需要在创建网络浏览器时和阅读 HTML 之前设置基本位置,要么需要一种方法将我可以设置基本位置的位置传递给网络浏览器。
对不起,我啰嗦了这么多,但我不知道如何看到我需要的东西。
【问题讨论】:
-
我不明白“默认目录”会为您做什么。如果您的程序使用相对路径生成 HTML 文件,那么您不需要做任何事情。不要生成
<img href="D:\data\delphi\jpgs\logo.jpg">,而是生成<img href="jpgs/logo.jpg">。那你就完全不用搞基地了。 -
JPG 是与创建 html 的 exe 位于同一位置的目录,而不是 html 所在的位置。然后,当同一个应用程序从另一个位置(不同的用户)运行时,第一个用户编写的 html 中 jpg 的位置可能不适用于新用户(他有自己的 jpg 副本。我知道很困惑跨度>
标签: delphi twebbrowser