VC與JavaScript互動(四) ———— WebBrowser或CHtmlView中輕鬆遮蔽指令碼錯誤(JavaScript)
1.什麼是javascript指令碼錯誤
1.1 概述
JavaScript指令碼錯誤包含“執行時錯誤”和“語法錯誤”。
1.2 JavaScript“語法錯誤”
JavaScript語法錯誤是指當 JavaScript語句違反了 JavaScript指令碼語言的一條或多條語法規則時導致的錯誤。JavaScript語法錯誤發生在程式編譯階段,在開始執行該程式之前。
1.3 JavaScript“執行時錯誤”
JavaScript執行時錯誤是指當 JavaScript指令碼試圖執行一個系統不能執行的動作時導致的錯誤。當正在執行指令碼、計算變量表達式、或者正在動態分配記憶體時出現 JavaScript執行時錯誤時。
2. 為什麼要遮蔽javascript指令碼錯誤?
由於開發海納產品時,使用WebBrowser和CHtmlView來展示頁面,進行填表等操作;但是由於開啟的頁面大多是其他使用者的CMS頁面,所以難免有些有指令碼錯誤,於是決定要來遮蔽指令碼錯誤,提升產品的易用性和友好性。
3. 怎麼去遮蔽javascript指令碼錯誤?
3.1 使用SetSilent函式
使用WebBrowser或CHtmlView的SetSilent函式可以達到遮蔽指令碼錯誤的目的,不過這種情況,其它提示資訊也都不顯示了,例如使用alert進行的錯誤提示。
如果你覺得這樣能滿足你,那麼推薦使用這種方法,簡單啊!
![](http://www.cnblogs.com/Emoticons/msn/tongue_smile.gif)
3.2 過載IOleCommandTarget的Exec函式
網上比較多資料都是說過載IOleCommandTarget中的Exec函式來進行遮蔽指令碼錯,定義如下:
HRESULT Exec( const GUID* pguidCmdGroup, DWORD nCmdID,
DWORD nCmdexecopt, VARIANTARG* pvaIn, VARIANTARG* pvaOut )
然後通過判斷nCmdID是否等於OLECMDID_SHOWSCRIPTERROR(即報javascript指令碼錯誤)來進行遮蔽;由於本人對COM和OLE的知識有限,琢磨了半天也沒有想到怎麼實現IOleCommandTarget介面中的Exec函式,然後跟我的WebBrowser或是HtmlView掛鉤起來
3.3 另一種方法
不死心,繼續在網上找,突然發現了一篇文章,介紹在html頁面中,可以使用javascript的事件來進行javascript指令碼錯誤的遮蔽,於是拷貝下來嘗試,果然有用(即使IE瀏覽器設定了指令碼除錯,也不會進行提示),經改造的程式碼如下:
![複製程式碼](http://common.cnblogs.com/images/copycode.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
6
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
24
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
25
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
26
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
27
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
28
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
29
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
30
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![複製程式碼](http://common.cnblogs.com/images/copycode.gif)
通過檢視javascript程式碼,發現是“過載”了window.onerror這個事件,只要它返回true,指令碼錯誤就不顯示了,估計這個就是Microsoft自己實現的擷取javascript指令碼錯誤資訊的介面,於是就想怎麼把它插入到頁面當中,其中有篇文章介紹說在OnDocumentComplete時來實現javascript的插入,經實踐,這種方法是不行的;經過本人的不斷嘗試,發現在OnNavigateComplete2或OnNavigateComplete裡實現javascript的注入是可行的,這兩個函式只要實現一個就行,就看你用的是Navigate2還是Navigate來開啟頁面了。這裡使用Navigate2來做例子,具體程式碼如下:
![複製程式碼](http://common.cnblogs.com/images/copycode.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
26
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
30
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
31
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
33
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
34
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
35
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
36
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
39
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
40
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
48
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
52
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
54
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
55
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
56
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
57
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
58
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
62
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
64
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
65
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
66
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![複製程式碼](http://common.cnblogs.com/images/copycode.gif)
其中,CMyWebBrowser是我自己繼承了CHtmlView類的一個實現類, 這個函式可以在你的WebBrowser2或繼承了CHtmlView類中實現,編寫一個帶有指令碼錯誤的頁面,開啟進行瀏覽,是不是發現指令碼錯誤被遮蔽了? 哈哈,實現起來也不麻煩。於是就把這個方法貼出來,供大家參考。
另: 經測試,發現如果存在iframe巢狀的時候,巢狀的iframe中包含指令碼錯誤,以上方法是不能遮蔽iframe中的指令碼錯誤的,因為window.onerror只針對當前頁面有效,因此需要在OnNavigateComplete2函式里加上對當前頁面進行遞迴所有子頁面,然後重複執行execScript操作即可。
最終程式碼為:
![複製程式碼](http://common.cnblogs.com/images/copycode.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
4
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
5
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
6
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
7
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
9
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
10
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
11
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
12
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
13
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
14
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
15
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
16
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
17
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
18
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
19
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
20
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
21
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
22
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
23
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
25
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
26
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
28
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
29
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
30
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
31
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
32
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
33
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
34
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
35
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
36
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
37
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
38
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
39
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
40
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
41
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
42
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
43
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
44
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
46
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
47
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
50
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
51
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
52
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
53
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
54
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
55
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
56
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
57
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
58
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
59
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
60
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
61
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
62
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
63
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
64
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
65
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
66
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
67
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
68
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
69
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
70
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
71
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
72
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
73
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
74
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
75
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
76
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
77
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
78
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
80
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
81
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
82
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
83
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
84
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
85
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
86
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
87
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
88
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
89
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
90
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
91
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
92
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
94
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
95
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
97
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
98
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
99
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
100
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
101
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
102
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
103
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
104
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
105
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
106
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
107
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
108
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
109
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
110
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
111
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
112
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
113
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
114
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
115
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
116
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
117
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
118
![](http://www.cnblogs.com/Images/OutliningIndicators/None.gif)
119
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
120
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
121
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
122
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
123
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
124
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
125
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
126
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
127
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
128
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
129
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
130
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
131
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
132
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
133
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
134
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
135
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
136
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
137
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
138
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
139
![](http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
140
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
141
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
142
![](http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
143