• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Codejie's C++ Space

            Using C++

            LingosHook : HTML Optimum


                ‘HTML Optimum’敲完了,功能作用不多,但代碼敲起來還是滿累啊。。。
                這個功能可以指定過濾掉詞典HTML中對于LingosHook無用的數據,比如鏈接、事件處理等等;以此可以減少LingosHook的數據存儲空間,理論上,可以減少15%到100%,看怎么配置了,比如,過濾全部的Tag,Attribute和Value。。。
                功能最初來自LAC項目中的‘Client Data Export’插件,本來沒那么復雜,應用指定過濾那么幾個Tag,Attribute什么的就可以了,但咱就是有‘開放偏執癥’--結果非弄個了個可以配置的對話框來,這樣大家可以根據自己的喜好來設置想過濾的內容了。。。(蛋疼不。。。)

                上圖先。

                1. 復雜的Optimum配置對話框(我覺得是LingosHook所有對話框中最好看的一個。。。 )


                HTML中的元素基本來說可以分為三類,Tag,Attribute和Value(注釋不提,LingosHook自動過濾掉了),這個就不多解釋了。在對話框中,將需要過濾(剔除)元素名稱加入到相應的列表中即可。需要說明的是,元素名稱是區分大小寫的。在LingosHook中,所有的Tag都是大寫的,比如要過濾圖片,需要添加的是IMG。

                左下的‘Use Default Configuration’按鈕是用于恢復或者使用應用缺省配置的,其過濾配置即為當前對話框中的項目,列表如下代碼:
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_TAG, wxT("A"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_TAG, wxT("PARAM"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_TAG, wxT("EMBED"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_TAG, wxT("OBJECT"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("class"));    
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("title"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("onclick"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("onmouseout"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("onmouseup"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("onmousedown"));
                CDocumentOutputObject::AddKey(&m_mapHtmlOptimumKey, CDocumentOutputObject::KT_ATTRIB, wxT("onselectstart"));
               
                此按鈕存在的原因是--實際不建議大家自己配置的,因為亂配置有風險導致LingosHook無法正常解析數據的。。。現在大家知道有多蛋疼了吧 。。。提供配置只是想讓大家看看,LingosHook的HTML處理功能有多猛,而這個HTML解析是咱自己寫的,哇哈哈。。。后面我會貼些不同配置下的解析結果對比圖,供大家欣賞。

                2. Setting頁面中新增的配置項

                這個配置目前是缺省開啟的,雖然會導致數據入庫變慢點,但可以節省不少存儲空間啊。。。


                下面是不同過濾配置下的對比:

                1. 無過濾 : 數據庫中HTML數據大小為3871字節; 



                2. 缺省配置:HTML數據大小為3162字節;

                可以發現,給無過濾情況下,在顯示上是沒有區別的;

                3. 缺省配置加上IMG過濾 : HTML數據大小為2221字節;此配置方式即為LAC數據導出配置;

                沒圖片,也還好的吧。。。

                4. 過濾全部Tag和Attribtue : HTML數據大小為179字節;


                這種配置,理論上就是提取HTML中的’純文本‘,過程中LingosHook會產生一個異常,因為數據不再是HTML格式,解析時會出錯的。

                HTML Optimum功能就是這樣的,神奇不。。。

            <----意外發現的分割線---->
                分析Lingoes數據時,意外發現實際其應該早有添加生詞本的欲望了,只是不知道為什么一直沒有實現。不信,看看下面HTML代碼。。。
            <TD><IMG style="MARGIN-TOP: 0px; MARGIN-LEFT: 0px" id="dict_remberword_E1C27E806399D047822B6650194A3D32" onmouseup="this.style.marginLeft = '-11px'" onmouseover="this.style.marginLeft = '-11px'" title="Add the word to notebook" onmouseout="this.style.marginLeft = '0px'" onmousedown="this.style.marginLeft = '-11px'" onclick="window.navigate('app://remberword/E1C27E806399D047822B6650194A3D32-4') ;" border="0" src="file:///C:/Program%20Files%20(x86)/Lingoes/Translator2/dict/image/remberword.png" width="22" height="11"></TD>

                我以前怎么沒注意呢。。。

            posted on 2012-05-16 15:09 codejie 閱讀(1285) 評論(0)  編輯 收藏 引用 所屬分類: LingosHook

            公告

            Using C++

            導航

            統計

            留言簿(73)

            隨筆分類(513)

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            狠狠狠色丁香婷婷综合久久俺| 久久久99精品一区二区| 久久精品国产亚洲αv忘忧草 | 国产精品免费久久久久影院| 久久成人精品| 久久精品免费观看| 色综合久久夜色精品国产| 无码人妻久久一区二区三区 | 亚洲一级Av无码毛片久久精品| 精品久久久久香蕉网| 久久久久亚洲av毛片大| 情人伊人久久综合亚洲| 国产精品欧美久久久天天影视| 久久亚洲中文字幕精品有坂深雪| 久久人人爽人人人人片av| 久久电影网一区| 亚洲中文字幕久久精品无码APP| 日本五月天婷久久网站| 日日狠狠久久偷偷色综合免费| 久久综合狠狠色综合伊人| 成人午夜精品无码区久久| 狠狠色伊人久久精品综合网| 无码国内精品久久人妻| 日本欧美国产精品第一页久久| 国产情侣久久久久aⅴ免费| 久久中文字幕人妻丝袜| 亚洲欧洲久久av| 午夜精品久久久久久久无码| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久99精品久久久久久齐齐| 久久久不卡国产精品一区二区| 国产精品99久久免费观看| 久久伊人精品一区二区三区| 欧美性猛交xxxx免费看久久久| 国产精品熟女福利久久AV| www.久久热.com| 久久综合丝袜日本网| 精品精品国产自在久久高清| 国内精品久久国产大陆| 亚洲国产精品久久久久婷婷老年 | 精品国产VA久久久久久久冰|