我正在使用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:=这是一个演示页面。然后在显示页面图像确实删除时,仅显示文本。
请告诉我如何用图片更新页面内的文字。请帮帮我
答案 0 :(得分:1)
也许您可以使用Delphi的StringReplace函数替换浏览器HTML中的文本,如下所示:
Doc.Body.innerHTML := StringReplace(Doc.Body.innerHTML, '«signature»', 'Your Signature', []);
innerHTML应该返回正文内容,包括所有元素,而innerText只获取文本,没有标记。
更好的方法是使用像getElementById这样的方法以及其他类似的方法。 Javascript,但我不知道这些方法是否由TEmbeddedWB公开。