包含自定义HTML代码的TWebBrowser中的相对URL

时间:2016-12-02 07:38:40

标签: delphi com twebbrowser

使用TWebBrowser,我想实现以下目标:

每当导航以“.foo”结尾的URL时,我将解析HTML代码(修改它),然后显示此HTML。

所以我基本上使用this code在浏览器窗口中设置被操纵的HTML代码:

var
  Doc: Variant;
begin
  WebBrowser.Navigate('about:blank');
  Doc := WebBrowser.Document;
  Doc.Clear;
  Doc.Write(NewHTML);
  Doc.Close;
end;

问题是内部网址现在更改为“about:blank”。

即使我这样做,网址仍然是“about:blank”:

var
  Doc: Variant;
begin
  WebBrowser.Navigate('http://www.example.com/');
  Doc := WebBrowser.Document;
  Doc.Clear;
  Doc.Write(NewContent);
  Doc.Close;
end;

因此,所有相对路径都将失效。

如果代码包含例如

<img src="test.jpg">

然后浏览器会尝试加载about:test.jpg

那么,我能做些什么呢?

A)更改内部URL而不导航到它

B)在加载过程中动态更改内容(不取消导航)

附加说明:我无法使用Document.body.innerHTML,因为.foo文件的内容并不总是HTML。它也可以是纯文本,因此不存在<body>标记。

0 个答案:

没有答案