手动编写TWebBrowser中的HTML

4

编辑:请看Jorn的方法。
我正在使用此处建议的策略:http://cc.embarcadero.com/Item/23992来获取我的HTML在TWebBrowser中,但是当页面加载时,我收到一堆JavaScript错误。如果我点击足够多次“是”,我可以看到一个没有格式的页面,我猜测页面什么也没做。

我的理论是,因为HTML中的链接是相对的,所以浏览器无法加载其中任何内容。我已经从将URL“about:blank”传递给navigate函数,切换到传递服务器主页-希望某些内部机制能够生成完整路径,但是没有运气。

是否有人成功地手动将HTML写入TWebBrowser?

2个回答

10

我通常使用这种方法:

//OnFormCreate:
begin
  WebBrowser.Navigate('about:blank');
end;

//OnButtonClick:
var
  Doc: Variant;
begin
  Doc := WebBrowser.Document;
  Doc.Clear;
  Doc.Write(Memo.Text);
  Doc.Close;
end;

delphi.about.com上,还有一些很好的例子。
而在www.delphidabbler.com上,还有一些更复杂的例子。


是的,那就是我最终得出的结论,但您可能会以这种方式看到我遇到的同样类型的问题。 +1 是因为这比那篇文章中描述的方法“更好”。 - LostNomad311

7

由于HTML并非来自实时URL,因此您需要在HTML本身中包含<base href=...>标签,以便正确解析相对链接。


这可能正是我所需要的,但我另寻他路完成了它。因此,在未核实情况下,我将把这个标记为答案。 - LostNomad311

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接