用图像更新页面内的文本

时间:2013-06-06 11:13:08

标签: javascript html delphi delphi-7

我正在使用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:=这是一个演示页面。然后在显示页面图像确实删除时,仅显示文本。

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

1 个答案:

答案 0 :(得分:1)

也许您可以使用Delphi的StringReplace函数替换浏览器HTML中的文本,如下所示:

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

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

更好的方法是使用像getElementById这样的方法以及其他类似的方法。 Javascript,但我不知道这些方法是否由TEmbeddedWB公开。