如何判断 IHTMLElement 的 outHTML属性是否为只读 ( 积分: 100 )

  • 主题发起人 主题发起人 ptma
  • 开始时间 开始时间
P

ptma

Unregistered / Unconfirmed
GUEST, unregistred user!
如何判断 IHTMLElement 的 outHTML属性是否为只读,

也就是 outHTML是否可以被重写。
 
如何判断 IHTMLElement 的 outHTML属性是否为只读,

也就是 outHTML是否可以被重写。
 
try一下就知道了
 
楼主可能是笔误吧,应该是outerHTML属性,我猜测楼主的意思是想往某个元素里面填写内容,就比如text框吧,然后看看是否是只读的,因为刚刚差了MSHTML单元,好像没有设置outerHmtl属性只读的,

property outerHTML: WideString read Get_outerHTML write Set_outerHTML;
是可读写的

如果我没有理解错的话,下面的例子可能对你有些帮助,如果理解错了,继续等高手

下面是我写的代码,可以供参考

楼主

unit Main;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, OleCtrls, SHDocVw, MSHTML;

type
TForm1 = class(TForm)
WebBrowser1: TWebBrowser;
BitBtn1: TBitBtn

procedure BitBtn1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure WebBrowser1DownloadComplete(Sender: TObject)

private
{ Private declarations }
FDownComplete : Boolean;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
var
ovDoc, ovInput, ovTag: OleVariant;
I : Integer;
begin
if not FDownComplete then Application.MessageBox('网页正在下载中,请稍后……', '提示', MB_OK + MB_ICONINFORMATION)
else begin
ovDoc := WebBrowser1.Document;
ovInput := ovDoc.all.tags('FORM');
for I := 0 to ovInput.length -1 do begin
// 这些IHTMLInputElement的元素大部分都可以判断readonly属性
ovTag := ovInput.item(I);
if (ovTag.Type = 'text') or (ovTag.Type = 'password') then begin
if ovTag.Name = 'ID' then ovTag.Value := '113';
if ovTag.Name = 'passwd' then ovTag.Value := '******';
if ovTag.readonly = true then ShowMessage('只读');
end
else if ovTag.Type = 'image' then begin
if ovTag.alt = '登录ChinaRen' then
ovTag.Click;
end;
end;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
FDownComplete := False;
WebBrowser1.Navigate('http://www.chinaren.com/');
end;

end.
 
自己找到了
MSDN 中 outerHTML 的说明页面上已经注明了哪些元素的outerHTML为只读的
 
和我的理解不一样吗?我没看到有说outerHTML的属性,只有我代码里面的那个属性阿,指点一下
 
后退
顶部