本發(fā)明屬于計(jì)算機(jī)軟件,尤其涉及一種基于富文本編輯器的編輯信息變更跟蹤方法及系統(tǒng)。
背景技術(shù):
1、現(xiàn)有的富文本編輯器在編輯文檔時(shí),往往缺乏有效的變更跟蹤機(jī)制,對(duì)于相鄰變更節(jié)點(diǎn)的處理邏輯復(fù)雜,不僅容易導(dǎo)致文檔結(jié)構(gòu)混亂,而且導(dǎo)致用戶難以追蹤文檔的修改歷史和修改來(lái)源。此外,現(xiàn)有系統(tǒng)在處理文本插入和刪除操作時(shí),在處理復(fù)雜格式時(shí)往往無(wú)法準(zhǔn)確反映用戶的意圖。因此,如何有效追蹤變更信息成為一種亟待解決的技術(shù)問(wèn)題。
2、上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于提供了一種基于富文本編輯器的編輯信息變更跟蹤方法及系統(tǒng),旨在解決如何有效追蹤變更信息的技術(shù)問(wèn)題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種基于富文本編輯器的編輯信息變更跟蹤方法,所述基于富文本編輯器的編輯信息變更跟蹤方法包括:
3、捕獲用戶操作富文本編輯器的輸入事件,根據(jù)所述輸入事件創(chuàng)建變更id,并確定所述輸入事件對(duì)應(yīng)的變更類型;
4、根據(jù)所述變更類型確定所述輸入事件對(duì)應(yīng)的字符處理規(guī)則;
5、基于所述字符處理規(guī)則對(duì)所述輸入事件進(jìn)行數(shù)據(jù)處理,以獲得變更信息,并基于所述變更信息創(chuàng)建變更對(duì)象,所述變更id與所述變更對(duì)象建立關(guān)聯(lián);
6、將所述變更信息插入至節(jié)點(diǎn),通過(guò)所述節(jié)點(diǎn)實(shí)現(xiàn)編輯信息變更跟蹤。
7、可選地,所述確定所述輸入事件對(duì)應(yīng)的變更類型的步驟,包括:
8、根據(jù)所述輸入事件識(shí)別功能鍵;
9、根據(jù)所述功能鍵確定變更類型,所述變更類型包括刪除按鍵、換行按鍵及插入按鍵。
10、可選地,所述根據(jù)所述變更類型確定所述輸入事件對(duì)應(yīng)的字符處理規(guī)則的步驟,包括:
11、根據(jù)所述輸入事件識(shí)別字符鍵,并根據(jù)所述功能鍵和所述字符鍵確定字符操作方式,所述字符操作方式包括常規(guī)節(jié)點(diǎn)操作方式和特殊節(jié)點(diǎn)操作方式,所述特殊節(jié)點(diǎn)操作方式包括評(píng)論節(jié)點(diǎn)操作方式、注音節(jié)點(diǎn)操作方式、刪除節(jié)點(diǎn)操作方式及外字節(jié)點(diǎn)操作方式;
12、基于所述變更類型確定所述字符操作方式對(duì)應(yīng)的字符處理規(guī)則。
13、可選地,所述將所述變更信息插入至節(jié)點(diǎn)的步驟之后,還包括:
14、根據(jù)所述變更類型對(duì)變更后的標(biāo)簽進(jìn)行樣式設(shè)置,以實(shí)現(xiàn)不同變更類型的區(qū)分。
15、可選地,所述根據(jù)所述變更類型對(duì)變更后的標(biāo)簽進(jìn)行樣式設(shè)置的步驟之后,還包括:
16、在檢測(cè)到變更結(jié)束后,根據(jù)所述變更信息更新文檔結(jié)構(gòu),并識(shí)別當(dāng)前光標(biāo)位置;
17、在檢測(cè)到文檔結(jié)構(gòu)更新后,對(duì)當(dāng)前光標(biāo)位置進(jìn)行重置處理。
18、可選地,所述對(duì)當(dāng)前光標(biāo)位置進(jìn)行重置處理的步驟,包括:
19、確定所述當(dāng)前光標(biāo)位置對(duì)應(yīng)的光標(biāo)事件,所述光標(biāo)事件包括mousedown事件、mouseup事件、keyup事件、keydown事件、keypress事件、document變化事件、window變化事件及selection變化事件;
20、根據(jù)所述光標(biāo)事件確定光標(biāo)處理規(guī)則;
21、根據(jù)所述光標(biāo)處理規(guī)則對(duì)所述當(dāng)前光標(biāo)位置進(jìn)行重置處理。
22、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種基于富文本編輯器的編輯信息變更跟蹤系統(tǒng),所述基于富文本編輯器的編輯信息變更跟蹤系統(tǒng)包括:
23、創(chuàng)建模塊,用于捕獲用戶操作富文本編輯器的輸入事件,根據(jù)所述輸入事件創(chuàng)建變更id,并確定所述輸入事件對(duì)應(yīng)的變更類型;
24、確定模塊,用于根據(jù)所述變更類型確定所述輸入事件對(duì)應(yīng)的字符處理規(guī)則;
25、處理模塊,用于基于所述字符處理規(guī)則對(duì)所述輸入事件進(jìn)行數(shù)據(jù)處理,以獲得變更信息,并基于所述變更信息創(chuàng)建變更對(duì)象,所述變更id與所述變更對(duì)象建立關(guān)聯(lián);
26、跟蹤模塊,用于將所述變更信息插入至節(jié)點(diǎn),通過(guò)所述節(jié)點(diǎn)實(shí)現(xiàn)編輯信息變更跟蹤。
27、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種基于富文本編輯器的編輯信息變更跟蹤設(shè)備,所述設(shè)備包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的基于富文本編輯器的編輯信息變更跟蹤程序,所述基于富文本編輯器的編輯信息變更跟蹤程序配置為實(shí)現(xiàn)如上文所述的基于富文本編輯器的編輯信息變更跟蹤方法的步驟。
28、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提出一種存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有基于富文本編輯器的編輯信息變更跟蹤程序,所述基于富文本編輯器的編輯信息變更跟蹤程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上文所述的基于富文本編輯器的編輯信息變更跟蹤方法的步驟。
29、本發(fā)明首先捕獲用戶操作富文本編輯器的輸入事件,根據(jù)輸入事件創(chuàng)建變更id,并確定輸入事件對(duì)應(yīng)的變更類型,然后根據(jù)變更類型確定輸入事件對(duì)應(yīng)的字符處理規(guī)則,之后基于字符處理規(guī)則對(duì)輸入事件進(jìn)行數(shù)據(jù)處理,以獲得變更信息,并基于變更信息創(chuàng)建變更對(duì)象,變更id與變更對(duì)象建立關(guān)聯(lián),最后將變更信息插入至節(jié)點(diǎn),通過(guò)節(jié)點(diǎn)實(shí)現(xiàn)編輯信息變更跟蹤。本發(fā)明通過(guò)將變更id與變更對(duì)象進(jìn)行關(guān)聯(lián),之后將變更信息插入至節(jié)點(diǎn),以實(shí)現(xiàn)實(shí)時(shí)記錄和展示文本編輯中的變更,增強(qiáng)了文檔的透明度和可追溯性。
1.一種基于富文本編輯器的編輯信息變更跟蹤方法,其特征在于,所述基于富文本編輯器的編輯信息變更跟蹤方法包括以下步驟:
2.如權(quán)利要求1所述的方法,其特征在于,所述確定所述輸入事件對(duì)應(yīng)的變更類型的步驟,包括:
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述變更類型確定所述輸入事件對(duì)應(yīng)的字符處理規(guī)則的步驟,包括:
4.如權(quán)利要求3所述的方法,其特征在于,所述將所述變更信息插入至節(jié)點(diǎn)的步驟之后,還包括:
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述變更類型對(duì)變更后的標(biāo)簽進(jìn)行樣式設(shè)置的步驟之后,還包括:
6.如權(quán)利要求5所述的方法,其特征在于,所述對(duì)所述當(dāng)前光標(biāo)位置進(jìn)行重置處理的步驟,包括:
7.一種基于富文本編輯器的編輯信息變更跟蹤系統(tǒng),其特征在于,所述基于富文本編輯器的編輯信息變更跟蹤系統(tǒng)包括: