1

我正在使用 Delphi7 和 TEmbeddedWB。我在 twebbrowser 中更新页面文本时遇到了一些困难。因为该网页包含图像。所以完整的HTML代码是

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">'#$D#$A'
<HTML>
    <HEAD>'#$D#$A'
        <META content="text/html; charset=windows-1252" http-equiv=Content-Type>'#$D#$A'
        <META name=GENERATOR content="MSHTML 8.00.7601.17514">
    </HEAD>'#$D#$A'
    <BODY>'#$D#$A'
       <DIV align=center><**IMG '#$D#$A'src="file:///C:/Program%20Files/image/c.jpg"></DIV>
       <FONT '#$D#$A'size=2 face=Arial><SPAN style="FONT-FAMILY: Arial; FONT-SIZE: 10pt">'#$D#$A'<P>**Hello «Forename», '#$D#$A'thiss<BR><BR><BR>«signature»<BR>**</P></SPAN></FONT>
    </BODY>
</HTML>'#$D#$A.

所以我只需要更新从(Hello «Forename» this «signature»)到(这是一个演示页面)的文本。当我去设置 Doc.Body.innerText := 这是一个演示页面。然后在显示页面图像时确实删除,只显示文本。

请告诉我如何用图像更新页面内的文本。请帮我

4

1 回答 1

1

也许你可以使用 Delphi 的 StringReplace 函数来替换浏览器 HTML 中的文本,比如:

Doc.Body.innerHTML := StringReplace(Doc.Body.innerHTML, '«signature»', 'Your Signature', []);

innerHTML 应该返回正文内容,包括所有元素,而 innerText 只获取文本,没有标记。

更好的方法是使用 getElementById 之类的方法和您在 Javascript 中可用的其他类似方法,但我不知道这些方法是否被 TEmbeddedWB 公开。

于 2013-06-10T09:55:59.917 回答