我们如何更改 src 属性以使其只有相对路径?
How we can change src attribute to have there only relative paths?
我们有一个 DelphiXE 程序,它使用 TWebBrowser 创建 HTML 文档并仅将它们的正文存储在 sql 数据库中。
现在我们要将图像添加到文档中。
当我们添加图像时,在 src 属性中我们有
src="file:///D:/Projects/Test/IMAGES/img_1.GIF"
D:/Projects/Test 是程序和 HTML 文件的位置。
我们希望在 src 属性中有相对路径,所以当我们更改 src 属性时
s:=elem.outerHTML;
s:='<IMG border=0 hspace=0 alt="pic 2" src="./IMAGES/955_2.GIF">';
// or s:='<IMG border=0 hspace=0 alt="pic 2" src="IMAGES/955_2.GIF">';
elem.outerHTML:=S
那么src属性没有变化,保持不变
src="file:///D:/Projects/Test/images/Img_1.GIF"
我们用记事本将 HTML 文件中的基本目录设置为
<BASE href="D:\Projects\Test\">
没有成功。
我们如何更改 src 属性以使其具有相对路径?
假设以下 HTML:
<body>
<img border=0 alt="pic 2" src="file:///D:/Projects/Test/IMAGES/img_1.GIF">
<p>Hello World</p>
</body>
假设这已经加载到名为 WebBrowser1 的 TWebBrowser 组件实例中,
使用 SetAttribute 代替 outerHTML 如下:
var
Body : IHTMLElement;
Children: IHTMLElementCollection;
Element : IHTMLElement;
begin
Body := (WebBrowser1.Document as IHTMLDocument2).body;
Children := Body.children as IHTMLElementCollection;
Element := Children.item( 0, 0 ) as IHTMLElement;
Element.setAttribute( 'src', './img_1.GIF', 0 );
// To prove a point:
ShowMessage( Element.outerHTML );
end;
我们有一个 DelphiXE 程序,它使用 TWebBrowser 创建 HTML 文档并仅将它们的正文存储在 sql 数据库中。
现在我们要将图像添加到文档中。 当我们添加图像时,在 src 属性中我们有
src="file:///D:/Projects/Test/IMAGES/img_1.GIF"
D:/Projects/Test 是程序和 HTML 文件的位置。
我们希望在 src 属性中有相对路径,所以当我们更改 src 属性时
s:=elem.outerHTML;
s:='<IMG border=0 hspace=0 alt="pic 2" src="./IMAGES/955_2.GIF">';
// or s:='<IMG border=0 hspace=0 alt="pic 2" src="IMAGES/955_2.GIF">';
elem.outerHTML:=S
那么src属性没有变化,保持不变
src="file:///D:/Projects/Test/images/Img_1.GIF"
我们用记事本将 HTML 文件中的基本目录设置为
<BASE href="D:\Projects\Test\">
没有成功。
我们如何更改 src 属性以使其具有相对路径?
假设以下 HTML:
<body>
<img border=0 alt="pic 2" src="file:///D:/Projects/Test/IMAGES/img_1.GIF">
<p>Hello World</p>
</body>
假设这已经加载到名为 WebBrowser1 的 TWebBrowser 组件实例中,
使用 SetAttribute 代替 outerHTML 如下:
var
Body : IHTMLElement;
Children: IHTMLElementCollection;
Element : IHTMLElement;
begin
Body := (WebBrowser1.Document as IHTMLDocument2).body;
Children := Body.children as IHTMLElementCollection;
Element := Children.item( 0, 0 ) as IHTMLElement;
Element.setAttribute( 'src', './img_1.GIF', 0 );
// To prove a point:
ShowMessage( Element.outerHTML );
end;