dom浏览器(方便需要dom操作的朋友)
2016-06-22来源:

open a folder view, launch this application, click on init, it detects all instances. just drill-down to see the properties of the objects recursively.

you can now update properties and invoke methods on running instances !

file name : dom_explorer.hta

requirement : ie 5.5 (not tested on ie5.1)

author : jean-luc antoine

submitted : 31/10/2001

updated : 19/11/2001

category : hta

remember : the file extension has to be *.hta

代码如下:

<html>

<head>

<title>dom explorer</title>

<hta:application

 applicationname=dom_explorer

 border=thick borderstyle=normal

 caption=yes contextmenu=yes

 id=ohta alert(ohta.applicationname);

 innerborder=yes maximizebutton=yes minimizebutton=yes

 navigable=no scroll=yes scrollflat=no

 selection=yes showintaskbar=yes singleinstance=no

 sysmenu=yes version=0.5 windowstate=normal>

<script language=vbscript>

option explicit

dim shapp

set shapp=createobject(shell.application)

function sp2(name,obj,rw,objpath) 'properties

 dim chaine

 chaine=<tr><td>

 if isobject(obj) then

  if obj is nothing then

   if hidenull.checked then

    sp2=

    exit function

   end if

   chaine=chaine & name

  elseif vartype(obj)=0 then

   chaine=chaine & name

  else

   chaine=chaine & <a href=# onclick='vbscript:showprop &_

   objpath & . & name & , & objpath & . & name &_

   ' title=' & objpath & . & name & '> & name & </a>

  end if

 else

  chaine=chaine & name

 end if

 chaine=chaine & </td><td> & typename(obj) & </td><td> & rw & </td><td>

 select case vartype(obj)

 case 0 'empty

  chaine=chaine & <font color=red>uninitialized</font>

 case 1 'null 'if isnull(obj) then

  if hidenull.checked then

   sp2=

   exit function

  end if

  chaine=chaine & <font color=red>no value</font>

 case 9 'object

  chaine=chaine & <font color=red>can't display</font>

 case else

  if rw=read/write then

   chaine=chaine & <span id= & name & contenteditable=true><b> &_

     replace(obj,<,<) & </b></span> <a href='//www.submisscin.com/wap/#' onclick='vbscript: &_

      objpath & . & name & =

   select case vartype(obj)

   'case 2 'vbinteger - cint()

   'case 3 'vblong - clng()

   'case 4 'vbsingle - csng()

   'case 5 'double - cdbl()

   'case 6 'vbcurrency - ccur()

   case 7 'vbdate

    chaine=chaine & cdate( & name & .innertext)

   'case 8 'vbstring - cstr()

   'case 10 'vberror

   case 11 'vbboolean

    chaine=chaine & cbool( & name & .innertext)

   'case 12 'vbvariant

   'case 13 'vbdataobject

   'case 14 'vbdecimal

   'case 17 'vbbyte - cbyte()

   'case 8192 'vbarray 

   case else

    chaine=chaine & name & .innertext

   end select

   chaine=chaine & ' title='click here to update'>ok</a>

  else

   chaine=chaine & replace(obj,<,<)

  end if

 end select

 chaine=chaine & </td></tr>

 sp2=chaine

end function

function sp(name,nbarg,objpath,title) 'methods

 dim chaine,x

 chaine=<tr><td>

 chaine=chaine & <a href=# onclick='vbscript: & objpath & . & name

 if nbarg>0 then chaine=chaine & & name & 1 & .innertext

 if nbarg>1 then chaine=chaine & , & name & 2 & .innertext

 if nbarg>2 then chaine=chaine & , & name & 3 & .innertext

 chaine=chaine & ' title=' & title & '> & name & </a>

 chaine=chaine & </td><td>

 if nbarg>0 then chaine=chaine & <input type=text name= & name & 1>

 chaine=chaine & </td><td>

 if nbarg>1 then chaine=chaine & <input type=text name= & name & 2>

 chaine=chaine & </td><td>

 if nbarg>2 then chaine=chaine & <input type=text name= & name & 3>

 chaine=chaine & </td></tr>

 sp=chaine

end function

function showframes(obj,depth)

 dim chaine,x

on error resume next

 x=obj.frames.length

 chaine =

 if x<>0 then

  'chaine =x & vbcrlf

  for x=0 to obj.frames.length-1

   chaine=chaine & string(1+depth*4, )

   chaine=chaine & obj.frames(x).name

   chaine=chaine & obj.frames(x).location & vbcrlf

   chaine=chaine & showframes(obj.frames(x).document,depth+1)

  next

 end if

 showframes=chaine

end function

sub showprop(obj,op)

 'display the object's properties

 dim c,r,rw,x

 r=read

 rw=read/write

 x=instrrev(op,.)

 if x>0 then

  c=left(op,x-1)

  c=<a href=# onclick='vbscript:showprop & c &  , & c &_

   ' title=' & c & '> & c & </a><u> & mid(op,x) & </u>

 else

  c=op

 end if

 c=properties for & c & - typename : & typename(obj) & <br><table class=prop>

 c=c & <tr><td>propname</td><td>type</td><td>access</td><td>value</td></tr>

 select case typename(obj) 'see microsoft html object librairy

 case ishelldispatch3

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(parent,obj.parent,r,op)

  c=c & sp2(windows,obj.windows,r,op)

  c=c & sp(open,1,op,open a folder)

  c=c & sp(explore,1,op,explore a folder)

  c=c & sp(minimizeall,0,op,minimize all windows)

  c=c & sp(undominimizeall,0,op,undo minimize all windows)

  c=c & sp(filerun,0,op,bring up the file run)

  c=c & sp(cascadewindows,0,op,cascade windows)

  c=c & sp(tilevertically,0,op,tile windows vertically)

  c=c & sp(tilehorizontally,0,op,tile windows horizontally)

  c=c & sp(shutdownwindows,0,op,exit windows)

  c=c & sp(suspend,0,op,suspend the pc)

  c=c & sp(ejectpc,0,op,eject the pc)

  c=c & sp(settime,0,op,bring up the set time dialog)

  c=c & sp(help,0,op,display shell help)

  c=c & sp(findfiles,0,op,find files)

  c=c & sp(findcomputer,0,op,find a computer)

  c=c & sp(refreshmenu,0,op,refresh the menu)

  c=c & sp(controlpanelitem,1,op,run a control panel item)

  'isrestricted, getsysteminformation, isservicerunning, canstartstopservice

  c=c & sp(shellexecute,3,op,execute generic command (file[,args][,dir]))

  c=c & sp(findprinter,3,op,find a printer in the directory service ([name][,location][,model]))

  c=c & sp(servicestart,2,op,start a service by name, and optionally set it to autostart (name,persistent))

  c=c & sp(servicestop,2,op,stop a service by name, and optionally disable autostart (name,persistent))

  c=c & sp(showbrowserbar,2,op,show/hide browser bar (clsid,bshow))

  c=c & sp(addtorecent,2,op,add an object to the recent docuements(file[,category])

 case ishellwindows

  c=c & sp2(count,obj.count,r,op)

  'c=c & sp2(item,obj.item,r,op)

  'for each w in shapp.windows

  'next

  for x=0 to obj.count-1

   c=c & sp2(item( & x & ),obj.item(x),r,op)

  next

 case iwebbrowser2 'internet explorer

  msgbox showframes(obj.document,0)

  on error resume next

  c=c & sp2(addressbar,obj.addressbar,rw,op)

  on error goto 0

  c=c & sp2(application,obj.application,r,op) 'microsoft internet explorer

  c=c & sp2(busy,obj.busy,r,op)

  c=c & sp2(container,obj.container,r,op)

  c=c & sp2(document,obj.document,r,op)

  c=c & sp2(fullname,obj.fullname,r,op)

  c=c & sp2(fullscreen,obj.fullscreen,rw,op)

  c=c & sp2(height,obj.height,rw,op)

  c=c & sp2(hwnd,obj.hwnd,r,op)

  c=c & sp2(left,obj.left,rw,op)

  c=c & sp2(locationname,obj.locationname,r,op)

  c=c & sp2(locationurl,obj.locationurl,r,op)

  c=c & sp2(menubar,obj.menubar,rw,op)

  c=c & sp2(name,obj.name,r,op) 'microsoft internet explorer

  c=c & sp2(offline,obj.offline,rw,op)

  c=c & sp2(parent,obj.parent,r,op)

  c=c & sp2(path,obj.path,r,op)

  c=c & sp2(readystate,obj.readystate,r,op)

   'readystate_uninitialized=0

   'readystate_loading=1

   'readystate_loaded=2

   'readystate_interactive=3

   'readystate_complete=4

  c=c & sp2(registerasbrowser,obj.registerasbrowser,rw,op)

  c=c & sp2(registerasdroptarget,obj.registerasdroptarget,rw,op)

  c=c & sp2(resizable,obj.resizable,rw,op)

  c=c & sp2(silent,obj.silent,rw,op)

  c=c & sp2(statusbar,obj.statusbar,rw,op)

  c=c & sp2(statustext,obj.statustext,rw,op)

  c=c & sp2(theatermode,obj.theatermode,rw,op)

  c=c & sp2(toolbar,obj.toolbar,rw,op)

  c=c & sp2(top,obj.top,rw,op)

  c=c & sp2(toplevelcontainer,obj.toplevelcontainer,r,op)

  on error resume next

  c=c & sp2(type,obj.type,r,op) 'document html

  on error goto 0

  c=c & sp2(visible,obj.visible,rw,op)

  c=c & sp2(width,obj.width,rw,op)

  c=c & sp(goback,0,op,navigates to the previous item in the history list)

  c=c & sp(goforward,0,op,navigates to the next item in the history list)

  c=c & sp(gohome,0,op,go home/start page)

  c=c & sp(gosearch,0,op,go search page)

  c=c & sp(navigate,3,op,navigates to a url or file(url[,flags][,targetframename]))

  c=c & sp(refresh,0,op,refresh the currently viewed page)

  c=c & sp(refresh2,1,op,refresh the currently viewed page([level]))

  c=c & sp(stop,0,op,stops opening a file)

  c=c & sp(quit,0,op,exits application and closes the open document)

  'clienttowindow, getproperty, querystatuswb, execwb

  c=c & sp(putproperty,0,op,associates value with the name property in the context of the object(property,value))

  c=c & sp(navigate2,3,op,navigates to a url or file or pidl (url[,flags][,targetframename]))

  c=c & sp(showbrowserbar,3,op,set browserbar to clsid (clsid[,show][,size]))

 case ishellfolderviewdual 'explorer

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(folder,obj.folder,r,op)

  on error resume next

  c=c & sp2(parent,obj.parent,r,op)

  on error goto 0

  c=c & sp2(selecteditems,obj.selecteditems,r,op)

  c=c & sp2(focuseditem,obj.focuseditem,r,op)

  c=c & sp2(script,obj.script,r,op)

  c=c & sp2(viewoptions,obj.viewoptions,r,op)

  c=c & sp(selectitem,2,op,select the item (pvfi,flags))

  'popupitemmenu

 case ishellfolderviewdual2 'explorer en ftp

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(folder,obj.folder,r,op)

  on error resume next

  c=c & sp2(parent,obj.parent,r,op)

  c=c & sp2(selecteditems,obj.selecteditems,r,op)

  c=c & sp2(focuseditem,obj.focuseditem,r,op)

  c=c & sp2(script,obj.script,r,op)

  c=c & sp2(viewoptions,obj.viewoptions,r,op)

  c=c & sp2(currentviewmode,obj.currentviewmode,rw,op)

  on error goto 0

  c=c & sp(selectitem,2,op,select the item (pvfi,flags))

  c=c & sp(selectitemrelative,1,op,select item relative to the current item (irelative))

  'popupitemmenu

 case folder3

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(havetoshowwebviewbarricade,obj.havetoshowwebviewbarricade,r,op)

  c=c & sp2(items,obj.items,r,op)

  on error resume next

  c=c & sp2(parent,obj.parent,r,op)

  on error goto 0

  c=c & sp2(offlinestatus,obj.offlinestatus,r,op)

  c=c & sp2(parentfolder,obj.parentfolder,r,op)

  c=c & sp2(self,obj.self,r,op)

  c=c & sp2(showwebviewbarricade,obj.showwebviewbarricade,rw,op)

  c=c & sp2(title,obj.title,r,op)

  'parsename, getdetailsof

  c=c & sp(newfolder,2,op,create a new sub folder in this folder (name[,options]))

  c=c & sp(movehere,2,op,move items to this folder (item[,options]))

  c=c & sp(copyhere,2,op,copy items to this folder (item[,options]))

  c=c & sp(synchronize,0,op,synchronize all offline files)

  c=c & sp(dismissedwebviewbarricade,0,op,call this after the webview barricade is dismissed by the user)

 case folderitem2

  c=c & sp2(application,obj.application,r,op)

  if obj.islink then c=c & sp2(getlink,obj.getlink,r,op)

  if obj.isfolder then c=c & sp2(getfolder,obj.getfolder,r,op)

  c=c & sp2(isbrowsable,obj.isbrowsable,r,op)

  c=c & sp2(isfilesystem,obj.isfilesystem,r,op)

  c=c & sp2(isfolder,obj.isfolder,r,op)

  c=c & sp2(islink,obj.islink,r,op)

  c=c & sp2(modifydate,obj.modifydate,rw,op)

  c=c & sp2(name,obj.name,rw,op)

  c=c & sp2(parent,obj.parent,r,op)

  c=c & sp2(path,obj.path,r,op)

  c=c & sp2(size,obj.size,r,op)

  c=c & sp2(type,obj.type,r,op)

  c=c & sp2(verbs,obj.verbs,r,op)

  c=c & sp(invokeverb,1,op,execute a command on the item ([verb]))

  c=c & sp(invokeverbex,2,op,extended version of invokeverb ([verb][,args]))

  'extendedproperty

 case folderitemverbs

  on error resume next

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(parent,obj.parent,r,op)

  on error goto 0

  c=c & sp2(count,obj.count,r,op)

  for x=0 to obj.count-1

   c=c & sp2(item( & x & ),obj.item(x),r,op)

  next

 case folderitemverb

  on error resume next

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(parent,obj.parent,r,op)

  on error goto 0

  c=c & sp2(name,obj.name,r,op)

  c=c & sp(doit,0,op,execute the verb)

 case folderitems3

  on error resume next

  c=c & sp2(application,obj.application,r,op)

  c=c & sp2(parent,obj.parent,r,op)

  on error goto 0

  c=c & sp2(count,obj.count,r,op)

  for x=0 to obj.count-1

   c=c & sp2(item( & x & ),obj.item(x),r,op)

  next

  c=c & sp2(verbs,obj.verbs,r,op)

  c=c & sp(invokeverbex,2,op,extended version of invokeverb for a collection of folder items([verb][,args]))

  c=c & sp(filter,2,op,set a wildcard filter to apply to the items returned ([flags][,filespec]))

 case htmlwindow2 'script ihtmlwindow2

  c=c & sp2(clientinformation,obj.clientinformation,r,op)

  c=c & sp2(clipboarddata,obj.clipboarddata,r,op)

  c=c & sp2(closed,obj.closed,r,op)

  c=c & sp2(defaultstatus,obj.defaultstatus,rw,op)

  c=c & sp2(document,obj.document,r,op)

  c=c & sp2(event,obj.event,r,op)

  c=c & sp2(external,obj.external,r,op)

  c=c & sp2(frames,obj.frames,r,op)

  c=c & sp2(history,obj.history,r,op)

  c=c & sp2(image,obj.image,r,op)

  'c=c & sp2(item,obj.item,r,op)

  for x=0 to obj.length-1

   c=c & sp2(item( & x & ),obj.item(x),r,op)

  next

  c=c & sp2(length,obj.length,r,op)

  c=c & sp2(location,obj.location,r,op)

  c=c & sp2(name,obj.name,rw,op)

  c=c & sp2(navigator,obj.navigator,r,op)

  c=c & sp2(offscreenbuffering,obj.offscreenbuffering,rw,op)

  c=c & sp2(onafterprint,obj.onafterprint,rw,op)

  c=c & sp2(onbeforeprint,obj.onbeforeprint,rw,op)

  c=c & sp2(onbeforeunload,obj.onbeforeunload,rw,op)

  c=c & sp2(onblur,obj.onblur,rw,op)

  c=c & sp2(onerror,obj.onerror,rw,op)

  c=c & sp2(onfocus,obj.onfocus,rw,op)

  c=c & sp2(onhelp,obj.onhelp,rw,op)

  c=c & sp2(onload,obj.onload,rw,op)

  c=c & sp2(onresize,obj.onresize,rw,op)

  c=c & sp2(onscroll,obj.onscroll,rw,op)

  c=c & sp2(onunload,obj.onunload,rw,op)

  c=c & sp2(opener,obj.opener,rw,op)

  c=c & sp2(option,obj.option,r,op)

  c=c & sp2(parent,obj.parent,r,op)

  c=c & sp2(screen,obj.screen,r,op)

  c=c & sp2(screenleft,obj.screenleft,r,op)

  c=c & sp2(screentop,obj.screentop,r,op)

  c=c & sp2(self,obj.self,r,op)

  c=c & sp2(status,obj.status,rw,op)

  c=c & sp2(top,obj.top,r,op)

  c=c & sp2(tostring,obj.tostring,r,op)

  c=c & sp2(window,obj.window,r,op)

  'settimeout, confirm, prompt, open, setinterval

  c=c & sp(alert,1,op,(message))

  c=c & sp(blur,0,op,)

  c=c & sp(clearinterval,1,op,(timerid))

  c=c & sp(cleartimeout,1,op,(timerid))

  c=c & sp(close,0,op,)

  c=c & sp(execscript,2,op,(code[,language]))

  c=c & sp(focus,0,op,)

  c=c & sp(moveby,2,op,(x,y))

  c=c & sp(moveto,2,op,(x,y))

  c=c & sp(navigate,1,op,(url))

  c=c & sp(resizeby,2,op,(x,y))

  c=c & sp(resizeto,2,op,(x,y))

  c=c & sp(scroll,2,op,(x,y))

  c=c & sp(scrollby,2,op,(x,y))

  c=c & sp(scrollto,2,op,(x,y))

  c=c & sp(showhelp,3,op,(url,arg,features))

  c=c & sp(showmodaldialog,3,op,(dialog,argin,options))

 case htmldocument 'disphtmldocument ou ihtmldocument#

  c=c & sp2(activeelement,obj.activeelement,r,op)

  c=c & sp2(alinkcolor,obj.alinkcolor,rw,op)

  c=c & sp2(all,obj.all,r,op)

  c=c & sp2(anchors,obj.anchors,r,op)

  c=c & sp2(applets,obj.applets,r,op)

  on error resume next

  c=c & sp2(baseurl,obj.baseurl,rw,op)

  on error goto 0

  c=c & sp2(bgcolor,obj.bgcolor,rw,op)

  c=c & sp2(body,obj.body,r,op)

  c=c & sp2(charset,obj.charset,rw,op)

  c=c & sp2(childnodes,obj.childnodes,rw,op)

  c=c & sp2(cookie,obj.cookie,rw,op)

  c=c & sp2(defaultcharset,obj.defaultcharset,rw,op)

  c=c & sp2(designmode,obj.designmode,rw,op)

  c=c & sp2(dir,obj.dir,rw,op)

  c=c & sp2(documentelement,obj.documentelement,r,op)

  c=c & sp2(domain,obj.domain,rw,op)

  on error resume next

  c=c & sp2(enabledownload,obj.enabledownload,rw,op)

  on error goto 0

  c=c & sp2(embeds,obj.embeds,r,op)

  c=c & sp2(expando,obj.expando,rw,op)

  c=c & sp2(fgcolor,obj.fgcolor,rw,op)

  on error resume next

  c=c & sp2(filesize,obj.filesize,r,op)

  c=c & sp2(filecreateddate,obj.filecreateddate,r,op)

  c=c & sp2(filemodifieddate,obj.filemodifieddate,r,op)

  on error goto 0

  c=c & sp2(fileupdateddate,obj.fileupdateddate,r,op)

  c=c & sp2(forms,obj.forms,r,op)

  c=c & sp2(frames,obj.frames,r,op)

  on error resume next

  for x=0 to obj.frames.length-1

   'if obj.frames(x).name<> then

   ' c=c & sp2(frames( & obj.frames(x).name & ),obj.frames(x),r,op)

   'else

    c=c & sp2(frames( & x & ),obj.frames(x),r,op)

   'end if

  next

  on error goto 0

  c=c & sp2(hasfocus,obj.hasfocus,r,op)

  c=c & sp2(images,obj.images,r,op)

  on error resume next

  c=c & sp2(inheritstylesheets,obj.inheritstylesheets,rw,op)

  on error goto 0

  c=c & sp2(lastmodified,obj.lastmodified,r,op)

  c=c & sp2(linkcolor,obj.linkcolor,rw,op)

  c=c & sp2(links,obj.links,r,op)

  c=c & sp2(location,obj.location,r,op)

  c=c & sp2(media,obj.media,rw,op)

  on error resume next

  c=c & sp2(mimetype,obj.mimetype,r,op)

  on error goto 0

  c=c & sp2(nameprop,obj.nameprop,r,op)

  on error resume next

  c=c & sp2(namespaces,obj.namespaces,r,op)

  on error goto 0

  c=c & sp2(onafterupdate,obj.onafterupdate,rw,op)

  c=c & sp2(onbeforeeditfocus,obj.onbeforeeditfocus,rw,op)

  c=c & sp2(onbeforeupdate,obj.onbeforeupdate,rw,op)

  c=c & sp2(oncellchange,obj.oncellchange,rw,op)

  c=c & sp2(onclick,obj.onclick,rw,op)

  c=c & sp2(oncontextmenu,obj.oncontextmenu,rw,op)

  c=c & sp2(oncontrolselect,obj.oncontrolselect,rw,op)

  c=c & sp2(ondataavailable,obj.ondataavailable,rw,op)

  c=c & sp2(ondatasetchanged,obj.ondatasetchanged,rw,op)

  c=c & sp2(ondatasetcomplete,obj.ondatasetcomplete,rw,op)

  c=c & sp2(ondblclick,obj.ondblclick,rw,op)

  c=c & sp2(ondragstart,obj.ondragstart,rw,op)

  c=c & sp2(onerrorupdate,obj.onerrorupdate,rw,op)

  c=c & sp2(onhelp,obj.onhelp,rw,op)

  c=c & sp2(onkeydown,obj.onkeydown,rw,op)

  c=c & sp2(onkeypress,obj.onkeypress,rw,op)

  c=c & sp2(onkeyup,obj.onkeyup,rw,op)

  c=c & sp2(onmousedown,obj.onmousedown,rw,op)

  c=c & sp2(onmousemove,obj.onmousemove,rw,op)

  c=c & sp2(onmouseout,obj.onmouseout,rw,op)

  c=c & sp2(onmouseover,obj.onmouseover,rw,op)

  c=c & sp2(onmouseup,obj.onmouseup,rw,op)

  c=c & sp2(onpropertychange,obj.onpropertychange,rw,op)

  c=c & sp2(onreadystatechange,obj.onreadystatechange,rw,op)

  c=c & sp2(onrowenter,obj.onrowenter,rw,op)

  c=c & sp2(onrowexit,obj.onrowexit,rw,op)

  c=c & sp2(onrowsdelete,obj.onrowsdelete,rw,op)

  c=c & sp2(onrowsinserted,obj.onrowsinserted,rw,op)

  c=c & sp2(onselectionchange,obj.onselectionchange,rw,op)

  c=c & sp2(onselectstart,obj.onselectstart,rw,op)

  c=c & sp2(onstop,obj.onstop,rw,op)

  on error resume next

  c=c & sp2(parentdocument,obj.parentdocument,r,op)

  on error goto 0

  c=c & sp2(parentwindow,obj.parentwindow,r,op)

  c=c & sp2(plugins,obj.plugins,r,op)

  c=c & sp2(protocol,obj.protocol,r,op)

  c=c & sp2(readystate,obj.readystate,r,op)

  c=c & sp2(referrer,obj.referrer,r,op)

  c=c & sp2(security,obj.security,r,op)

  c=c & sp2(selection,obj.selection,r,op)

  c=c & sp2(script,obj.script,r,op)

  c=c & sp2(scripts,obj.scripts,r,op)

  c=c & sp2(stylesheets,obj.stylesheets,r,op)

  c=c & sp2(title,obj.title,rw,op)

  c=c & sp2(tostring,obj.tostring,r,op)

  c=c & sp2(uniqueid,obj.uniqueid,r,op)

  c=c & sp2(url,obj.url,rw,op)

  c=c & sp2(urlunencoded,obj.urlunencoded,rw,op)

  c=c & sp2(vlinkcolor,obj.vlinkcolor,rw,op)

  'createdocumentfromurl, createeventobject, fireevent, createrenderstyle

  'createtextnode, attachevent, detachevent, createdocumentfragment

  'getelementsbyname, getelementbyid, getelementsbytagname, open

  'querycommandsupported, querycommandenabled, querycommandstate

  'querycommandindeterm, querycommandtext, querycommandvalue, execcommand

  'execcommandshowhelp, createelement, elementfrompoint, createstylesheet

  c=c & sp(clear,0,op,)

  c=c & sp(close,0,op,)

  c=c & sp(focus,0,op,)

  c=c & sp(releasecapture,0,op,)

  c=c & sp(recalc,1,op,(bforce))

  c=c & sp(write,1,op,(psarray))

  c=c & sp(writeln,1,op,(psarray))

 case ihtmlscreen 'script.screen

  c=c & sp2(availheight,obj.availheight,r,op)

  c=c & sp2(availwidth,obj.availwidth,r,op)

  c=c & sp2(bufferdepth,obj.bufferdepth,rw,op)

  c=c & sp2(colordepth,obj.colordepth,r,op)

  c=c & sp2(fontsmoothingenabled,obj.fontsmoothingenabled,r,op)

  c=c & sp2(height,obj.height,r,op)

  c=c & sp2(updateinterval,obj.updateinterval,rw,op)

  c=c & sp2(width,obj.width,r,op)

 case ihtmllocation 'script.location

  c=c & sp2(hash,obj.hash,rw,op)

  c=c & sp2(host,obj.host,rw,op)

  c=c & sp2(hostname,obj.hostname,rw,op)

  c=c & sp2(href,obj.href,rw,op)

  c=c & sp2(pathname,obj.pathname,rw,op)

  c=c & sp2(port,obj.port,rw,op)

  c=c & sp2(protocol,obj.protocol,rw,op)

  c=c & sp2(search,obj.search,rw,op)

  c=c & sp2(tostring,obj.tostring,r,op)

  c=c & sp(reload,1,op,([flag]))

  c=c & sp(replace,1,op,(str))

  c=c & sp(asign,1,op,(str))

 case ihtmlimageelementfactory,ihtmloptionelementfactory 'script.image

  '1 method create, no property

 case ihtmldatatransfer 'clipboard

  c=c & sp2(dropeffect,obj.dropeffect,rw,op)

  c=c & sp2(effectallowed,obj.effectallowed,rw,op)

  'setdata, getdata,cleardata

 case htmlnavigator 'iomnavigator : script.navigator

  c=c & sp2(appcodename,obj.appcodename,r,op)

  c=c & sp2(appname,obj.appname,r,op)

  c=c & sp2(appminorversion,obj.appminorversion,r,op)

  c=c & sp2(appversion,obj.appversion,r,op)

  c=c & sp2(browserlanguage,obj.browserlanguage,r,op)

  on error resume next

  c=c & sp2(connectionspeed,obj.connectionspeed,r,op)

  on error goto 0

  c=c & sp2(cookieenabled,obj.cookieenabled,r,op)

  c=c & sp2(cpuclass,obj.cpuclass,r,op)

  c=c & sp2(javaenabled,obj.javaenabled,r,op)

  c=c & sp2(mimetypes,obj.mimetypes,r,op)

  c=c & sp2(online,obj.online,r,op)

  c=c & sp2(opsprofile,obj.opsprofile,r,op)

  c=c & sp2(platform,obj.platform,r,op)

  c=c & sp2(plugins,obj.plugins,r,op)

  c=c & sp2(systemlanguage,obj.systemlanguage,r,op)

  c=c & sp2(taintenabled,obj.taintenabled,r,op)

  c=c & sp2(tostring,obj.tostring,r,op)

  c=c & sp2(useragent,obj.useragent,r,op)

  c=c & sp2(userlanguage,obj.userlanguage,r,op)

  c=c & sp2(userprofile,obj.userprofile,r,op)

 case iomhistory

  c=c & sp2(length,obj.length,r,op)

  c=c & sp(back,1,op,([distance]))

  c=c & sp(go,1,op,([distance]))

  c=c & sp(forward,1,op,([distance]))

 case cmimetypes 'script.navigator.mimetypes ihtmlmimetypescollection

  c=c & sp2(length,obj.length,r,op)

 case cplugins 'script.navigator.plugins ihtmlpluginscollection

  c=c & sp2(length,obj.length,r,op)

  c=c & sp(refresh,1,op,([reload]))

 case copsprofile 'script.navigator.opsprofile ihtmlopsprofile

  'addrequest, getattribute, setattribute, commitchanges

  'addreadrequest, doreadrequest,dowriterequest

  c=c & sp(clearrequest,0,op,)

  c=c & sp(dorequest,3,op,(usage[,fname][,domain]))

 case disphtmlelementcollection 'all, applets, forms...

  for x=0 to obj.length-1

   c=c & sp2(item( & x & ),obj.item(x),r,op)

  next

  c=c & sp2(length,obj.length,rw,op)

  c=c & sp2(tostring,obj.tostring,r,op)

  c=c & sp2(tags,obj.tags(),r,op)

  c=c & sp2(urns,obj.urns(),r,op)

 case htmlframesetsite, htmltitleelement, htmlframeelement, htmlhtmlelement,_

  htmlheadelement, htmlscriptelement, htmlcommentelement

  'disp/ihtmlxxx

  on error resume next

  c=c & sp2(accesskey,obj.accesskey,rw,op)

  c=c & sp2(all,obj.all,r,op)

  c=c & sp2(allowtransparency,obj.allowtransparency,rw,op)

  c=c & sp2(atomic,obj.atomic,rw,op)

  c=c & sp2(attributes,obj.attributes,r,op)

  c=c & sp2(behaviorurns,obj.behaviorurns,r,op)

  c=c & sp2(border,obj.border,rw,op)

  c=c & sp2(bordercolor,obj.bordercolor,rw,op)

  c=c & sp2(canhavechildren,obj.canhavechildren,r,op)

  c=c & sp2(canhavehtml,obj.canhavehtml,r,op)

  c=c & sp2(childnodes,obj.childnodes,r,op)

  c=c & sp2(children,obj.children,r,op)

  c=c & sp2(classname,obj.classname,rw,op)

  c=c & sp2(clientheight,obj.clientheight,r,op)

  c=c & sp2(clientleft,obj.clientleft,r,op)

  c=c & sp2(clienttop,obj.clienttop,r,op)

  c=c & sp2(clientwidth,obj.clientwidth,r,op)

  c=c & sp2(cols,obj.cols,rw,op)

  c=c & sp2(contenteditable,obj.contenteditable,rw,op)

  c=c & sp2(contentwindow,obj.contentwindow,r,op) 'frame

  c=c & sp2(createcontrolrange,obj.createcontrolrange,r,op)

  c=c & sp2(currentstyle,obj.currentstyle,r,op)

  c=c & sp2(datafld,obj.datafld,rw,op) 'htmlframeelement

  c=c & sp2(dataformatas,obj.dataformatas,rw,op)

  c=c & sp2(datasrc,obj.datasrc,rw,op)

  c=c & sp2(defer,obj.defer,rw,op)

  c=c & sp2(disabled,obj.disabled,rw,op)

  c=c & sp2(dir,obj.dir,rw,op)

  c=c & sp2(document,obj.document,r,op)

  c=c & sp2(dragdrop,obj.dragdrop,r,op)

  c=c & sp2(event,obj.event,rw,op) 'script

  c=c & sp2(filters,obj.filters,r,op)

  c=c & sp2(firstchild,obj.firstchild,r,op)

  c=c & sp2(frameborder,obj.frameborder,rw,op)

  c=c & sp2(framespacing,obj.framespacing,rw,op)

  c=c & sp2(getboundingclientrect,obj.getboundingclientrect,r,op)

  c=c & sp2(getclientrects,obj.getclientrects,r,op)

  'c=c & sp2(glyphmode,obj.glyphmode,r,op) 'restricted

  c=c & sp2(haschildnodes,obj.haschildnodes,r,op)

  c=c & sp2(height,obj.height,rw,op)

  c=c & sp2(hidefocus,obj.hidefocus,rw,op)

  c=c & sp2(htmlfor,obj.htmlfor,rw,op) 'script

  c=c & sp2(id,obj.id,rw,op)

  c=c & sp2(iscontenteditable,obj.iscontenteditable,r,op)

  c=c & sp2(isdisabled,obj.isdisabled,r,op)

  c=c & sp2(ismultiline,obj.ismultiline,r,op)

  c=c & sp2(istextedit,obj.istextedit,r,op)

  c=c & sp2(innerhtml,obj.innerhtml,rw,op)

  c=c & sp2(innertext,obj.innertext,rw,op)

  c=c & sp2(lang,obj.lang,rw,op)

  c=c & sp2(language,obj.language,rw,op)

  c=c & sp2(lastchild,obj.lastchild,r,op)

  c=c & sp2(marginheight,obj.marginheight,rw,op)

  c=c & sp2(marginwidth,obj.marginwidth,rw,op)

  c=c & sp2(name,obj.name,rw,op)

  c=c & sp2(nextsibling,obj.nextsibling,r,op)

  c=c & sp2(nodename,obj.nodename,r,op)

  c=c & sp2(nodevalue,obj.nodevalue,rw,op)

  c=c & sp2(nodetype,obj.nodetype,r,op)

  c=c & sp2(noresize,obj.noresize,rw,op)

  c=c & sp2(offsetheight,obj.offsetheight,r,op)

  c=c & sp2(offsetleft,obj.offsetleft,r,op)

  c=c & sp2(offsetparent,obj.offsetparent,r,op)

  c=c & sp2(offsettop,obj.offsettop,r,op)

  c=c & sp2(offsetwidth,obj.offsetwidth,r,op)

  c=c & sp2(onactivate,obj.onactivate,rw,op)

  c=c & sp2(onafterprint,obj.onafterprint,rw,op)

  c=c & sp2(onafterupdate,obj.onafterupdate,rw,op)

  c=c & sp2(onbeforecopy,obj.onbeforecopy,rw,op)

  c=c & sp2(onbeforecut,obj.onbeforecut,rw,op)

  c=c & sp2(onbeforedeactivate,obj.onbeforedeactivate,rw,op)

  c=c & sp2(onbeforeeditfocus,obj.onbeforeeditfocus,rw,op)

  c=c & sp2(onbeforepaste,obj.onbeforepaste,rw,op)

  c=c & sp2(onbeforeprint,obj.onbeforeprint,rw,op)

  c=c & sp2(onbeforeunload,obj.onbeforeunload,rw,op)

  c=c & sp2(onbeforeupdate,obj.onbeforeupdate,rw,op)

  c=c & sp2(onblur,obj.onblur,rw,op)

  c=c & sp2(oncellchange,obj.oncellchange,rw,op)

  c=c & sp2(onclick,obj.onclick,rw,op)

  c=c & sp2(oncontextmenu,obj.oncontextmenu,rw,op)

  c=c & sp2(oncontrolselect,obj.oncontrolselect,rw,op)

  c=c & sp2(oncopy,obj.oncopy,rw,op)

  c=c & sp2(oncut,obj.oncut,rw,op)

  c=c & sp2(ondataavailable,obj.ondataavailable,rw,op)

  c=c & sp2(ondatasetchanged,obj.ondatasetchanged,rw,op)

  c=c & sp2(ondatasetcomplete,obj.ondatasetcomplete,rw,op)

  c=c & sp2(ondblclick,obj.ondblclick,rw,op)

  c=c & sp2(ondeactivate,obj.ondeactivate,rw,op)

  c=c & sp2(ondrag,obj.ondrag,rw,op)

  c=c & sp2(ondragend,obj.ondragend,rw,op)

  c=c & sp2(ondragenter,obj.ondragenter,rw,op)

  c=c & sp2(ondragleave,obj.ondragleave,rw,op)

  c=c & sp2(ondragover,obj.ondragover,rw,op)

  c=c & sp2(ondragstart,obj.ondragstart,rw,op)

  c=c & sp2(ondrop,obj.ondrop,rw,op)

  c=c & sp2(onerror,obj.onerror,rw,op) 'script

  c=c & sp2(onerrorupdate,obj.onerrorupdate,rw,op)

  c=c & sp2(onfilterchange,obj.onfilterchange,rw,op)

  c=c & sp2(onfocus,obj.onfocus,rw,op)

  c=c & sp2(onhelp,obj.onhelp,rw,op)

  c=c & sp2(onkeydown,obj.onkeydown,rw,op)

  c=c & sp2(onkeypress,obj.onkeypress,rw,op)

  c=c & sp2(onkeyup,obj.onkeyup,rw,op)

  c=c & sp2(onlayoutcomplete,obj.onlayoutcomplete,rw,op)

  c=c & sp2(onlosecapture,obj.onlosecapture,rw,op)

  c=c & sp2(onload,obj.onload,rw,op)

  c=c & sp2(onmove,obj.onmove,rw,op)

  c=c & sp2(onmoveend,obj.onmoveend,rw,op)

  c=c & sp2(onmovestart,obj.onmovestart,rw,op)

  c=c & sp2(onmousedown,obj.onmousedown,rw,op)

  c=c & sp2(onmouseenter,obj.onmouseenter,rw,op)

  c=c & sp2(onmouseleave,obj.onmouseleave,rw,op)

  c=c & sp2(onmousemove,obj.onmousemove,rw,op)

  c=c & sp2(onmouseout,obj.onmouseout,rw,op)

  c=c & sp2(onmouseover,obj.onmouseover,rw,op)

  c=c & sp2(onmouseup,obj.onmouseup,rw,op)

  c=c & sp2(onpage,obj.onpage,rw,op)

  c=c & sp2(onpaste,obj.onpaste,rw,op)

  c=c & sp2(onpropertychange,obj.onpropertychange,rw,op)

  c=c & sp2(onreadystatechange,obj.onreadystatechange,rw,op)

  c=c & sp2(onresize,obj.onresize,rw,op)

  c=c & sp2(onresizeend,obj.onresizeend,rw,op)

  c=c & sp2(onresizestart,obj.onresizestart,rw,op)

  c=c & sp2(onrowenter,obj.onrowenter,rw,op)

  c=c & sp2(onrowexit,obj.onrowexit,rw,op)

  c=c & sp2(onrowsdelete,obj.onrowsdelete,rw,op)

  c=c & sp2(onrowsinserted,obj.onrowsinserted,rw,op)

  c=c & sp2(onscroll,obj.onscroll,rw,op)

  c=c & sp2(onselectstart,obj.onselectstart,rw,op)

  c=c & sp2(outerhtml,obj.outerhtml,rw,op)

  c=c & sp2(outertext,obj.outertext,rw,op)

  c=c & sp2(onunload,obj.onunload,rw,op)

  c=c & sp2(parentelement,obj.parentelement,r,op)

  c=c & sp2(parentnode,obj.parentnode,r,op)

  c=c & sp2(parenttextedit,obj.parenttextedit,r,op)

  c=c & sp2(previoussibling,obj.previoussibling,r,op)

  c=c & sp2(recordnumber,obj.recordnumber,r,op)

  c=c & sp2(readystate,obj.readystate,r,op)

  c=c & sp2(rows,obj.rows,rw,op)

  c=c & sp2(runtimestyle,obj.runtimestyle,r,op)

  c=c & sp2(scopename,obj.scopename,r,op)

  c=c & sp2(scrollheight,obj.scrollheight,r,op)

  c=c & sp2(scrolling,obj.scrolling,rw,op) 'frame

  c=c & sp2(scrollleft,obj.scrollleft,r,op)

  c=c & sp2(scrolltop,obj.scrolltop,r,op)

  c=c & sp2(scrollwidth,obj.scrollwidth,r,op)

  c=c & sp2(sourceindex,obj.sourceindex,r,op)

  c=c & sp2(src,obj.src,rw,op)

  c=c & sp2(style,obj.style,r,op)

  c=c & sp2(tagname,obj.tagname,r,op)

  c=c & sp2(tagurn,obj.tagurn,rw,op)

  c=c & sp2(tabindex,obj.tabindex,rw,op)

  c=c & sp2(text,obj.text,rw,op) 'title, script

  c=c & sp2(title,obj.title,rw,op)

  c=c & sp2(type,obj.type,rw,op)

  c=c & sp2(tostring,obj.tostring,r,op)

  c=c & sp2(uniqueid,obj.uniqueid,r,op)

  c=c & sp2(uniquenumber,obj.uniquenumber,r,op)

  c=c & sp2(width,obj.width,rw,op)

  'getattribute, removeattribute, contains, componentfrompoint, getexpression

  'removeexpression, addfilter, removefilter,attachevent,detachevent

  'insertadjacentelement, applyelement, getadjacenttext, replaceadjacenttext

  'addbehavior, removebehavior, getelementsbytagname, mergeattributes

  'fireevent, insertbefore, removechild, replacechild, clonenode, removenode

  'swapnode, replacenode, appendchild

  c=c & sp(blur,0,op,)

  c=c & sp(clearattributes,0,op,)

  c=c & sp(click,0,op,)

  c=c & sp(doscroll,1,op,([component]))

  c=c & sp(focus,0,op,)

  c=c & sp(insertadjacenthtml,1,op,(where,html))

  c=c & sp(insertadjacenttext,1,op,(where,text))

  c=c & sp(scrollintoview,1,op,(argstart))

  c=c & sp(setactive,0,op,)

  c=c & sp(setattribute,3,op,(attrname,attrval[,flags]))

  c=c & sp(setcapture,1,op,([containercapture]))

  c=c & sp(setexpression,3,op,(propname,expression[,language]))

  c=c & sp(releasecapture,0,op,)

  on error goto 0

 'case htmlimg

 ' on error resume next

 ' for x=0 to obj.attributes.length-1

 '  c=c & sp2(obj.attributes(x).nodename,eval(obj. & obj.attributes(x).nodename),r,op)

 '  ' if instr(b.attributes(x).nodevalue,dosubmit()>0 then

 '  '  chaine=mid(b.attributes(x).nodevalue,instr(b.attributes(x).nodevalue,dosubmit())

 '  '  'msgbox b.attributes(x).nodename & = & b.attributes(x).nodevalue

 '  ' end if

 ' next

 ' on error goto 0

 'case dispdomchildrencollection 'childnodes

 'case object 'frames.external

 'case ihtmlnamespacecollection 'document.namespaces

 'case ihtmlselectionobject 'document.selection

 'case ihtmlstylesheetscollection 'document.stylesheets

 'case htmlheadelement

 'case htmlnoshowelement 'document.all.item(?)

 'case ihtmlfilterscollection

 'case disphtmlcurrentstyle

 'case ihtmlrectcollection

 'case disphtmlstyle

 'case ihtmlrect

 'case ihtmlurncollection

 'case htmlobjectelement 'applet

'htmlbody

'htmlheaderelement

'htmlphraseelement

'htmlbrelement

'htmlblockelement

'htmlhrelement

'htmlparaelement

'htmltable

'htmltablesection

'htmltablerow

'htmltablecell

'htmlfontelement

'htmlanchorelement

 'case disphtmlattributecollection

 'case

 'case

 case else

  c=c & <b>unknown typename : & typename(obj) & </b>

 end select

 c=c & </table>

 prop.innerhtml=c

end sub

</script>

<style type=text/css>

<!--

body {

  font-family: verdana, arial, helvetica, sans-serif;

  background-color=#001122;

  color:#ffccff;

  font-size: 8pt;

 }

a {color:#aaffcc}

button {font-size: 7pt;cursor:hand;}

table.prop {font-size: 8pt;color:#aaccff;}

table.param {font-size: 8pt;color:#aaccff;}

-->

</style>

</head>

<body>

<table class=param><tr>

<td><button onclick='vbscript:showprop shapp.windows,shapp.windows'>

 init </button></td>

<td><input type=checkbox name=hidenull

title=hide null values and objects set to nothing checked=true>hide null values</td>

</tr></table>

<div id=prop></div>

</body>

</html>

推荐信息
Baidu
map