0

我正在使用 TChromium 导航到页面。它具有属性 Options.ImageLoading ,您可以在其中指定是否要显示网站的图像。

问题是它仅适用于在设计时设置的选项。如果我在运行时更改此属性,则无效。这是一个示例代码;我想在这个例子中实现的是打开 test1.com 显示图像和打开 test2.com 隐藏图像。不幸的是,这两个站点都加载了图像,忽略了我设置的选项。

任何想法如何解决这一问题 ?我希望能够仅显示某些网站的图像。

procedure tform1.button1click(Sender : TObject);
begin
chromium1.options.ImageLoading = STATE_ENABLED;
chromium1.load('www.test1.com');
end;

procedure tform1.button2click(Sender: TObject);
begin
chromium1.options.ImageLoading = STATE_DISABLED;
chromium1.load('www.test2.com');
end;
4

2 回答 2

2

因为@delphirules 实际上询问延迟图像加载,下一个答案是最好的(并且适用于任何基于铬的解决方案)我在这里重新发布这个答案的一部分

您可以加载webkit.webprefs.loads_images_automatically首选项设置为 false 的网页,然后将其更改为 true 并加载图像(加载后无法卸载图像)。

感谢用户amaitland的出色发现。:)

于 2016-05-17T15:14:06.023 回答
1

尝试这个:

  • 创建两个 TChromium 实例,一个带有options.ImageLoading := STATE_ENABLED,另一个带有options.ImageLoading := STATE_DISABLED

  • 然后,当您想要加载页面时,使第一个页面可见,而另一个不可见,反之亦然。

显然,可能还有更多工作要做,但至少可以避免每次要更改时都必须重新创建浏览器。

于 2016-05-17T06:41:42.690 回答