当前位置 : 主页 > 编程语言 > delphi >

delphi – 如何在TWebBrowser中始终加载新页面?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在尝试使用Browser.Navigate(URL)将网页加载到TWebBrowser中.但是,浏览器不会关心页面是否在线更新,所以只要我不重启程序就不会显示新页面. 一个更具体的例子: 如果我导航到具有访问
我正在尝试使用Browser.Navigate(URL)将网页加载到TWebBrowser中.但是,浏览器不会关心页面是否在线更新,所以只要我不重启程序就不会显示新页面.

一个更具体的例子:
如果我导航到具有访问者计数器(作为图像)的网页,则计数器将递增.如果我离开该页面然后返回(不使用Back),计数器将不会递增.在Firefox中,它会增加.

这是我尝试过的,不会起作用:

const
  DLCTL_PRAGMA_NO_CACHE = $00004000;

procedure TBrowserFrm.LoadURL(URL: string);
var
  Flag: OleVariant;
begin
  Flag:=DLCTL_PRAGMA_NO_CACHE;
  Browser.Navigate(URL, Flag);
end; 


procedure TBrowserFrm.LoadURL(URL: string);
var
Flags: OleVariant;
begin
 Flags := 'navNoHistory, navNoReadFromCache, navNoWriteToCache';
 Browser.navigate2(URL, Flags);
end;

有关如何使TWebBrowser加载真实页面的任何想法?

我想你必须使用4,而不是$00004000.

因为我使用www.ghisler.com(计数器在底部)我可以使用

procedure TForm2.Button2Click(Sender: TObject);
var
  Flags: OLEVariant;

begin
  Flags:=4; //NavNoReadFromCache
  WebBrowser1.Navigate('http://www.ghisler.com/', Flags);
end;

它完美无缺(Delphi XE7).我看到TC主页,再点击超链接然后再点击Button2,计数器是新的.当我仅使用Navigate(URL)时,计数器仍然是相同的.

网友评论