1 2 {IHTMLDocument2 方法:} 3 write //寫入 4 writeln //寫入並換行 5 open //開啟一個流,以收集 document.write 或 document.writeln 的輸出 6 close //關閉並輸出用 document.open 方法開啟的流 7 clear //清空文件中所有元素, 可能暫時不支援 8 queryCommandSupported //是否支援指定命令 9 queryCommandEnabled //指定命令是否有效 10 queryCommandState //是否設定了指定命令 11 queryCommandIndeterm //指定命令是否處於不確定狀態 12 queryCommandText //命令 13 queryCommandValue //命令值 14 execCommand //執行命令 15 execCommandShowHelp //命令幫助資訊 16 createElement //建立元素 17 elementFromPoint //指定座標下的元素 18 createStyleSheet //建立一個樣式表 19 20 {IHTMLDocument2 屬性:} 21 all //所有 HTML 元素的集合 22 images //所有 image 物件的集合 23 applets //所有 applet 物件的集合 24 links //所有 link 物件的集合 25 forms //所有 form 物件的集合 26 anchors //所有 anchor 物件的集合 27 scripts //所有 script 物件的集合 28 frames //所有 frame 物件的集合, 這應該和 window.frames 是一樣的 29 embeds //所有 embed 物件的集合 30 plugins //所有 plugin 物件的集合 31 styleSheets //樣式表集合 32 title //網頁標題 33 body //body 物件 34 activeElement //當前具有輸入焦點的元素 35 designMode //設計模式, 可選值: Inherit On Off 36 selection //當前選擇 37 readyState //頁面讀取狀態: uninitialized、loading、loaded、interactive、completed 38 linkColor //連結的顏色 39 alinkColor //活動連結的顏色 40 vlinkColor //已訪問過的連結的顏色 41 bgColor //背景顏色 42 fgColor //文字顏色 43 referrer //返回載入當前頁面的頁面的 URL 44 location //同 window.location 45 lastModified //返回文件最後修改的日期和時間 46 url //返回當前文件的 URL 47 domain //返回域名 48 cookie //返回文件相關的 cookie 49 expando //可設定與獲取的布林值, 是否允許擴充套件 50 charset //獲取文件的字符集名稱 51 defaultCharset //獲取瀏覽器預設的字符集名稱 52 mimeType //文件型別 53 fileSize //文件大小, 單位位元組, 用字串表示 54 fileCreatedDate //文件建立時間 ??? 55 fileModifiedDate //文件修改時間 ??? 56 fileUpdatedDate //文件更新時間 ??? 57 security //文件安全 58 protocol //傳輸協議 59 nameProp //檔案標題, 好像同 Title 60 parentWindow //父視窗 61 Script // 62 63 {IHTMLDocument2 事件:} 64 onhelp //用 F1 獲取幫助時 65 onclick //單擊時 66 ondblclick //雙擊時 67 onmousedown //滑鼠點下時 68 onmouseup //滑鼠抬起時 69 onmousemove //滑鼠移動時 70 onmouseover //滑鼠進入時 71 onmouseout //滑鼠離開時 72 onkeypress //按鍵時 73 onkeyup //鍵按住時 74 onkeydown //鍵抬起時 75 onreadystatechange //狀態改變時 76 onrowexit //當前資料來源的資料將要發生變化時 77 onrowenter //當前資料來源的資料發生變化並且有新的資料時 78 ondragstart //開始拖動時 79 onselectstart //開始選擇時 80 onbeforeupdate //更新前 81 onafterupdate //更新後 82 onerrorupdate //更新錯誤時 83 84 85 {IHTMLDocument3 方法:} 86 recalc //重新獲取文件中的全部動態屬性 87 releaseCapture //釋放文件中物件的滑鼠捕捉 88 89 {IHTMLDocument3 屬性:} 90 createTextNode //建立文字 91 attachEvent //繫結事件 92 detachEvent //取消事件繫結 93 createDocumentFragment//建立新文件 94 getElementsByName //返回帶有指定 name 的物件集合 95 getElementById //返回指定 id 的第一個物件的引用 96 getElementsByTagName //返回指定標籤的物件集合 97 documentElement //獲取文件根部節點, 也就是 HTML 節點 98 uniqueID //獲取物件的唯一識別符號 99 dir // 100 parentDocument // 101 enableDownload 102 baseUrl //基礎地址 103 104 {IHTMLDocument3 事件:} 105 onrowsdelete //當前資料記錄被刪除時 106 onrowsinserted //當前資料來源將要插入新資料時 107 oncellchange //當資料來源發生變化時 108 ondatasetchanged //資料來源發生變化時 109 ondataavailable //當資料接收完成時 110 ondatasetcomplete //當資料來源的全部有效資料讀取完畢時 111 onpropertychange //改變屬性時 112 oncontextmenu //當按下滑鼠右鍵出現選單或通過鍵盤觸發頁面選單時 113 onstop //停止或離開時 114 115 116 {IHTMLDocument4 方法:} 117 focus //獲得輸入焦點 118 hasFocus //是否擁有輸入焦點 119 createDocumentFromUrl //下載指定網頁並返回其 IHTMLDocument2 介面 120 CreateEventObject //生成當使用 fireEvent 方法時用於傳遞事件相關資訊的 event 物件 ??? 121 FireEvent 122 123 {IHTMLDocument4 屬性:} 124 createRenderStyle //建立 IHTMLRenderStyle 介面 125 namespaces // 126 media // 127 URLUnencoded //獲取去除字元編碼的 URL 128 129 {IHTMLDocument4 事件:} 130 onselectionchange //改變選擇時 131 oncontrolselect //好像是框選時 132 133 134 {IHTMLDocument5 方法:} 135 createAttribute //建立指定 name 的屬性 136 createComment //建立註釋 137 138 {IHTMLDocument5 屬性:} 139 doctype //文件型別 140 implementation_ //獲取 IHTMLDOMImplementation 介面 141 compatMode //相容模式, 返回 BackCompat、CSS1Compat 等 142 143 {IHTMLDocument5 事件:} 144 onmousewheel //旋轉滑鼠滾動輪時 145 onfocusin //獲取輸入焦點時 146 onfocusout //失去輸入焦點時 147 onactivate //啟用時 148 ondeactivate //當前物件變為父文件的其他物件時 149 onbeforeactivate //onactivate 前 150 onbeforedeactivate //ondeactivate 前 151 152 Ihtmldocument2介面的使用 153 MSHTML是微軟公司的一個COM元件,該元件封裝了HTML語言中的所有元素及其屬性,通過其提供的標準介面,可以訪問指定網頁的所有元素. 154 MSHTML物件模型是由一些物件和集合組成的.處於根部的是HTML,描述了開啟頁面的1個視窗,包括一系列集合和物件。如Frames集合,History,Location,Navigator,Document,Vi—sum,Event物件等.其中描述呈現在客戶視窗實際網頁的是Document物件。由一系列的屬性、方法、物件和集合組成.其中All集合中包含網頁中所有標記(Tag)元素,其主要的方法和屬性有: 155 (1)Length(長度):即標記出現的個數,可以把標記的集合理解為從0開始的一維陣列,其次序按照標記在網頁位置排列; 156 (2)Tags(標記):用於過濾出給定標記的集合,如Doc.Al1.Tags(P)得到所有分段標記P; 157 (3)Item(專案):用於選擇集合中的某1個元素,如object.item(0)得到集合的第1個元素,而object.item(i)得到第i+1個元素. 158 此外,IHTMLElement也是個常用的集合物件,代表網頁中指定標記的集合,通過這個集合物件,可以得到網頁上特定標記的內容.IHTMLElement有4個主要屬性: 159 (1)InnerText:開始標記和結束標記之間的文字; 160 (2)InnerHTML:開始標記和結束標記之間的文字和HTML; 161 (3)OuterText:物件的文字; 162 (4)OuterHTML:物件的文字和HTML. 163 注意:使用前加入單元mshtml 164 演示表單提交 165 procedure TForm1.Button1Click(Sender: TObject); 166 var 167 Doc:IHTMLDocument2; 168 input:OleVariant; 169 userinputelement,pwdinputelement:ihtmlinputelement; 170 begin 171 doc:=webbrowser1.document as ihtmldocument2; 172 userinputelement:=(doc.all.item('user'(也就是網頁中使用者名稱控制元件的名字),0) as ihtmlinputelement); 173 userinputelement.value:=edit1.text;(也就是你要向網頁輸入的東西) 174 pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement); 175 pwdinputelement.value:=edit2.text; 176 input:=doc.all.item('submit',0); 177 input.click; 178 end; 179 當提交資料按鈕沒有NAME屬性時,採用如下方法: 180 procedure TForm1.Button1Click(Sender: TObject); 181 var 182 Doc:IHTMLDocument2; 183 form:ithmlformelement; 184 userinputelement,pwdinputelement:ihtmlinputelement; 185 begin 186 doc:=webbrowser1.document as ihtmldocument2; 187 userinputelement:=(doc.all.item('user'(也就是網頁中使用者名稱控制元件的名字),0) as ihtmlinputelement); 188 userinputelement.value:=edit1.text;(也就是你要向網頁輸入的東西) 189 pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement); 190 pwdinputelement:=edit2.text; 191 form:=(doc.all.item('login_form',0) as ihtmlformelement): 192 form.submit; 193 end; 194 登入"按鈕一般都是網頁中預設的回車按鈕,所以可以用上面程式碼來代替前面的點選按鈕 195 讀取某網頁內容 196 在建立窗體的時候開啟一網頁 197 198 webbrowser1.navigate('http://www.baidu.com') 199 procedure TForm1.Button1Click(Sender: TObject); 200 begin 201 memo1.lines.add(ihtmldocument2(webbrowser1.document).body.outerhtml); 202 end; 203 204 這樣一來memo1中顯示www.baidu.com的html 205 利用webbrowser1控制元件瀏覽某txt中檔案的內容,並以html形式來顯示出來 206 在webbrowser1的控制元件中的ondocumentcomplete事件加入如下程式碼 207 procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; 208 const pDisp: IDispatch; var URL: OleVariant); 209 var 210 webdoc:htmldocument ; 211 webbody:htmlbody; 212 begin 213 webdoc:=webbrowser1.document as htmldocument; 214 webbody:=webdoc.body as htmlbody; 215 webbody.insertAdjacentHTML('beforeend','<form method="POST" action="">'); 216 webbody.insertAdjacentHTML('beforeend','Password: '); 217 webbody.insertAdjacentHTML('beforeend','<input type="password" >'); 218 webbody.insertAdjacentHTML('beforeend','<input type="submit" value="LOGIN" >'); 219 webbody.insertAdjacentHTML('beforeend',' '); 220 webbody.insertAdjacentHTML('beforeend','</form>'); 221 end; 222 223 224 讀取的時候,webbrowser控制元件得要完整的開啟某一網頁,
1 document.execCommand()方法處理Html資料時常用語法格式 如下: 2 複製內容到剪貼簿 3 程式碼 : 4 document.execCommand(sCommand[,互動方式, 動態引數 ]) 5 其中:sCommand為指令引數(如下例中的"2D-Position"),互動方式引數如果是true的話將顯示對話方塊,如果為false的話,則不顯示對話方塊(下例中的"false"即表示不顯示對話方塊),動態引數一般為一可用值或屬性 值(如下例中的"true")。 6 7 document.execCommand("2D-Position","false","true"); 8 9 10 呼叫execCommand()可以實現瀏覽器選單 的很多功能. 如儲存檔案 ,開啟新檔案,撤消、重做操作...等等. 有了這個方法,就可以很容易的實現網頁中的文字編輯器. 11 12 如果靈活運用,可以很好的輔助我們完成各種專案. 13 14 使用的例子如下: 15 16 17 1、〖全選〗命令的實現 18 [格式]:document.execCommand("selectAll") 19 [說明]將選種網頁中的全部內容! 20 [舉例]在<body></body>之間加入: 21 <a href="#" onclick=document.execCommand("selectAll")>全選</a> 22 23 2、〖開啟〗命令的實現 24 [格式]:document.execCommand("open") 25 [說明]這跟VB等程式設計設計中的web browser控制元件中的命令有些相似,大家也可依此琢磨琢磨。 26 [舉例]在<body></body>之間加入: 27 <a href="#" onclick=document.execCommand("open")>開啟</a> 28 29 3、〖另存為〗命令的實現 30 [格式]:document.execCommand("saveAs") 31 [說明]將該網頁儲存到本地盤的其它目錄! 32 [舉例]在<body></body>之間加入: 33 <a href="#" onclick=document.execCommand("saveAs")>另存為</a> 34 35 4、〖列印〗命令的實現 36 [格式]:document.execCommand("print") 37 [說明]當然,你必須裝了印表機! 38 [舉例]在<body></body>之間加入: 39 <a href="#" onclick=document.execCommand("print")>列印</a> 40 41 Js程式碼 下面列出的是指令引數及意義 42 43 //相當於單擊檔案中的開啟按鈕 44 document.execCommand("Open"); 45 46 //將當前頁面 另存為 47 document.execCommand("SaveAs"); 48 49 //剪貼選中的文字到剪貼簿; 50 document.execCommand("Cut","false",null); 51 52 //刪除選中的文字; 53 document.execCommand("Delete","false",null); 54 55 //改變選中區域的字型; 56 document.execCommand("FontName","false",sFontName); 57 58 //改變選中區域的字型大小; 59 document.execCommand("FontSize","false",sSize|iSize); 60 61 //設定前景顏色; 62 document.execCommand("ForeColor","false",sColor); 63 64 //使絕對定位的物件可直接拖動; 65 document.execCommand("2D-Position","false","true"); 66 67 //使物件定位變成絕對定位; 68 document.execCommand("AbsolutePosition","false","true"); 69 70 //設定背景顏色; 71 document.execCommand("BackColor","false",sColor); 72 73 //使選中區域的文字加粗; 74 document.execCommand("Bold","false",null); 75 76 //複製選中的文字到剪貼簿; 77 document.execCommand("Copy","false",null); 78 79 //設定指定錨點為書籤; 80 document.execCommand("CreateBookmark","false",sAnchorName); 81 82 //將選中文 本變成超連線,若第二個引數為true,會出現引數設定對話方塊; 83 document.execCommand("CreateLink","false",sLinkURL); 84 85 //設定當前塊的標籤名; 86 document.execCommand("FormatBlock","false",sTagName); 87 88 //相當於單擊檔案中的開啟按鈕 89 document.execCommand("Open"); 90 91 //將當前頁面另存為 92 document.execCommand("SaveAs"); 93 94 //剪貼選中的文字到剪貼簿; 95 document.execCommand("Cut","false",null); 96 97 //刪除選中的文字; 98 document.execCommand("Delete","false",null); 99 100 //改變選中區域的字型; 101 document.execCommand("FontName","false",sFontName); 102 103 //改變選中區域的字型大小; 104 document.execCommand("FontSize","false",sSize|iSize); 105 106 //設定前景顏色; 107 document.execCommand("ForeColor","false",sColor); 108 109 //使絕對定位的物件可直接拖動; 110 document.execCommand("2D-Position","false","true"); 111 112 //使物件定位變成絕對定位; 113 document.execCommand("AbsolutePosition","false","true"); 114 115 //設定背景顏色; 116 document.execCommand("BackColor","false",sColor); 117 118 //使選中區域的文字加粗; 119 document.execCommand("Bold","false",null); 120 121 //複製選中的文字到剪貼簿; 122 document.execCommand("Copy","false",null); 123 124 //設定指定錨點為書籤; 125 document.execCommand("CreateBookmark","false",sAnchorName); 126 127 //將選中文字變成超連線,若第二個引數為true,會出現引數設定對話方塊; 128 document.execCommand("CreateLink","false",sLinkURL); 129 130 //設定當前塊的標籤名; 131 document.execCommand("FormatBlock","false",sTagName); 132 document物件execCommand通常在IE中線上處理Html資料時非常有用,它可以讓你輕而易舉實現文字的加粗、加顏色、加字型等一系列的命令。 133 D-Position 允許通過拖曳移動絕對定位的物件。 134 AbsolutePosition 設定元素的 position 屬性為“absolute”(絕對)。 135 BackColor 設定或獲取當前選中區的背景顏色。 136 BlockDirLTR 目前尚未支援。 137 BlockDirRTL 目前尚未支援。 138 Bold 切換當前選中區的粗體顯示與否。 139 BrowseMode 目前尚未支援。 140 Copy 將當前選中區複製到剪貼簿。 141 CreateBookmark 建立一個書籤錨或獲取當前選中區或插入點的書籤錨的名稱。 142 CreateLink 在當前選中區上插入超級連結,或顯示一個對話方塊允許使用者指定要為當前選中區插入的超級連結的 URL。 143 Cut 將當前選中區複製到剪貼簿並刪除之。 144 Delete 刪除當前選中區。 145 DirLTR 目前尚未支援。 146 DirRTL 目前尚未支援。 147 EditMode 目前尚未支援。 148 FontName 設定或獲取當前選中區的字型。 149 FontSize 設定或獲取當前選中區的字型大小。 150 ForeColor 設定或獲取當前選中區的前景(文字)顏色。 151 FormatBlock 設定當前塊格式化標籤。 152 Indent 增加選中文字的縮排。 153 InlineDirLTR 目前尚未支援。 154 InlineDirRTL 目前尚未支援。 155 InsertButton 用按鈕控制元件覆蓋當前選中區。 156 InsertFieldset 用方框覆蓋當前選中區。 157 InsertHorizontalRule 用水平線覆蓋當前選中區。 158 InsertIFrame 用內嵌框架覆蓋當前選中區。 159 InsertImage 用影象覆蓋當前選中區。 160 InsertInputButton 用按鈕控制元件覆蓋當前選中區。 161 InsertInputCheckbox 用核取方塊控制元件覆蓋當前選中區。 162 InsertInputFileUpload 用檔案上載控制元件覆蓋當前選中區。 163 InsertInputHidden 插入隱藏控制元件覆蓋當前選中區。 164 InsertInputImage 用影象控制元件覆蓋當前選中區。 165 InsertInputPassword 用密碼控制元件覆蓋當前選中區。 166 InsertInputRadio 用單選鈕控制元件覆蓋當前選中區。 167 InsertInputReset 用重置控制元件覆蓋當前選中區。 168 InsertInputSubmit 用提交控制元件覆蓋當前選中區。 169 InsertInputText 用文字控制元件覆蓋當前選中區。 170 InsertMarquee 用空字幕覆蓋當前選中區。 171 InsertOrderedList 切換當前選中區是編號列表還是常規格式化塊。 172 InsertParagraph 用換行覆蓋當前選中區。 173 InsertSelectDropdown 用下拉框控制元件覆蓋當前選中區。 174 InsertSelectListbox 用列表框控制元件覆蓋當前選中區。 175 InsertTextArea 用多行文字輸入控制元件覆蓋當前選中區。 176 InsertUnorderedList 切換當前選中區是專案符號列表還是常規格式化塊。 177 Italic 切換當前選中區斜體顯示與否。 178 JustifyCenter 將當前選中區在所在格式化塊置中。 179 JustifyFull 目前尚未支援。 180 JustifyLeft 將當前選中區所在格式化塊左對齊。 181 JustifyNone 目前尚未支援。 182 JustifyRight 將當前選中區所在格式化塊右對齊。 183 LiveResize 迫使 MSHTML 編輯器在縮放或移動過程中持續更新元素外觀,而不是隻在移動或縮放完成後更新。 184 MultipleSelection 允許當使用者按住 Shift 或 Ctrl 鍵時一次選中多於一個站點可選元素。 185 Open 目前尚未支援。 186 Outdent 減少選中區所在格式化塊的縮排。 187 OverWrite 切換文字狀態的插入和覆蓋。 188 Paste 用剪貼簿內容覆蓋當前選中區。 189 PlayImage 目前尚未支援。 190 Print 開啟列印對話方塊以便使用者可以列印當前頁。 191 Redo 目前尚未支援。 192 Refresh 重新整理當前文件。 193 RemoveFormat 從當前選中區中刪除格式化標籤。 194 RemoveParaFormat 目前尚未支援。 195 SaveAs 將當前 Web 頁面儲存為檔案。 196 SelectAll 選中整個文件。 197 SizeToControl 目前尚未支援。 198 SizeToControlHeight 目前尚未支援。 199 SizeToControlWidth 目前尚未支援。 200 Stop 目前尚未支援。 201 StopImage 目前尚未支援。 202 StrikeThrough 目前尚未支援。 203 Subscript 目前尚未支援。 204 Superscript 目前尚未支援。 205 UnBookmark 從當前選中區中刪除全部書籤。 206 Underline 切換當前選中區的下劃線顯示與否。 207 Undo 目前尚未支援。 208 Unlink 從當前選中區中刪除全部超級連結。 209 Unselect 清除當前選中區的選中狀態。 210 211 212 關於document.execCommand: 213 要執行編輯命令,可呼叫 document.execCommand,並傳遞對應於命令 ID 的字串。另外還有可選的第二個引數 ,該引數指定如果可以應用的話是否顯示此命令的使用者介面。傳遞整數 1 將顯示使用者介面,整數 0 將跳過它。這個引數通常不用於編輯命令。因為預設值為 0,所以假如您沒有使用第三個引數(在這種情況下,還必須為第二個引數傳遞值),一般可以不管它。第三個引數也是可選的, 在可應用的情況下,使用它來將任何所需引數傳遞給該命令。