瀏覽器待故障分析的腳本信息的獲取方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種瀏覽器待故障分析的腳本信息的獲取方法及裝置,本發(fā)明在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
【專利說明】瀏覽器待故障分析的腳本信息的獲取方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及到智能終端瀏覽器故障處理領(lǐng)域,特別涉及到一種瀏覽器待故障分析的腳本信息的獲取方法及裝置。
【背景技術(shù)】
[0002]隨著智能終端(例如,智能電視)的快速發(fā)展,人們對(duì)智能電視要求越來越高,由此業(yè)務(wù)系統(tǒng)引入的業(yè)務(wù)應(yīng)用也越來越多,而這些業(yè)務(wù)的呈現(xiàn)都需要通過智能電視的瀏覽器來實(shí)現(xiàn),即需要嵌入式瀏覽器支持的功能越來越復(fù)雜,例如,HTML5音視頻播放、3D頁(yè)面顯示、Widget應(yīng)用、多窗口展示及網(wǎng)絡(luò)離線存儲(chǔ)等新業(yè)務(wù)應(yīng)用的迅速推廣。大量的業(yè)務(wù)應(yīng)用都是通過網(wǎng)頁(yè)設(shè)計(jì)(頁(yè)面邏輯控制)進(jìn)行實(shí)現(xiàn),而網(wǎng)頁(yè)設(shè)計(jì)主要是由腳本語言來完成,越復(fù)雜的業(yè)務(wù)應(yīng)用就需要多樣化和復(fù)雜話的頁(yè)面邏輯控制來完成,因此,腳本語言(例如,javascript)在網(wǎng)頁(yè)設(shè)計(jì)中就越來越重要。腳本語言的執(zhí)行都是通過瀏覽器進(jìn)行,所以復(fù)雜的腳本邏輯一旦出現(xiàn)問題,將直接導(dǎo)致用戶無法正常的訪問頁(yè)面,極大的降低了用戶的體驗(yàn)度。同時(shí),如果腳本邏輯出現(xiàn)問題,就需要瀏覽器開發(fā)人員對(duì)業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位分析,找出利用腳本語言無法實(shí)現(xiàn)業(yè)務(wù)應(yīng)用的原因,但是復(fù)雜的頁(yè)面和腳本語言讓瀏覽器開發(fā)人員不知道從何開始入手分析。
[0003]目前,瀏覽器開發(fā)人員對(duì)業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位分析的方式通常為:由瀏覽器開發(fā)人員對(duì)頁(yè)面和腳本語言進(jìn)行重新組合鏈接,讓瀏覽器進(jìn)行腳本邏輯問題的重現(xiàn),并在腳本語言中盲目的添加大量打印信息,然后通過查看腳本語言中添加的打印信息,找到腳本語言執(zhí)行的方式和路徑,如果打印信息添加的有誤,還需要反復(fù)的進(jìn)行這樣的操作。
[0004]因而,上述定位分析的方式極大的浪費(fèi)了開發(fā)人員的時(shí)間,且無法準(zhǔn)確的對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,降低了解決瀏覽器故障的速度。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的主要目的為提供一種瀏覽器待故障分析的腳本信息的獲取方法及裝置,有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
[0006]本發(fā)明提出一種瀏覽器待故障分析的腳本信息的獲取方法,該方法包括:
[0007]在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;
[0008]在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);
[0009]對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
[0010]優(yōu)選地,所述在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)的步驟包括:
[0011]在監(jiān)控到所述操作事件時(shí),對(duì)所述操作事件運(yùn)行的頁(yè)面腳本文件進(jìn)行詞法解析和語法解析,以生成對(duì)應(yīng)的腳本指令;
[0012]從生成的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
[0013]優(yōu)選地,所述在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)的步驟包括:
[0014]逐條分析所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令;
[0015]在當(dāng)前分析的所述操作事件運(yùn)行的腳本指令為函數(shù)指令時(shí),鎖定該腳本指令;
[0016]在當(dāng)前分析的所述操作事件當(dāng)前運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析下一條所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,直至分析完所有所述操作事件運(yùn)行的腳本指令,并從分析的腳本指令中鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
[0017]優(yōu)選地,所述對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息的步驟之后,該方法還包括:
[0018]輸出解析出的預(yù)設(shè)類型信息。
[0019]優(yōu)選地,所述輸出解析出的預(yù)設(shè)類型信息的步驟包括:
[0020]當(dāng)鎖定的腳本指令為自定義函數(shù)指令時(shí),分析是否輸出函數(shù)的代碼內(nèi)容,在需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出函數(shù)的代碼內(nèi)容及解析出的預(yù)設(shè)類型信息,在不需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出解析出的預(yù)設(shè)類型信息;
[0021]當(dāng)鎖定的腳本指令為瀏覽器本地函數(shù)指令時(shí),輸出解析出的預(yù)設(shè)類型信息。
[0022]本發(fā)明還提出一種瀏覽器待故障分析的腳本信息的獲取裝置,該裝置包括:
[0023]響應(yīng)模塊,用于在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;
[0024]處理模塊,用于在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);
[0025]數(shù)據(jù)解析模塊,用于對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
[0026]優(yōu)選地,所述數(shù)據(jù)解析模塊,還用于在監(jiān)控到所述操作事件時(shí),對(duì)所述操作事件運(yùn)行的頁(yè)面腳本文件進(jìn)行詞法解析和語法解析,以生成對(duì)應(yīng)的腳本指令;
[0027]所述處理模塊,用于從生成的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
[0028]優(yōu)選地,該裝置還包括分析模塊,
[0029]所述分析模塊,用于逐條分析所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令;
[0030]所述處理模塊,用于在當(dāng)前分析的所述操作事件運(yùn)行的腳本指令為函數(shù)指令時(shí),鎖定該腳本指令;
[0031]所述分析模塊,還用于在當(dāng)前分析的所述操作事件當(dāng)前運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析下一條所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,直至分析完所有所述操作事件運(yùn)行的腳本指令;
[0032]所述處理模塊,還用于從分析模塊分析的腳本指令中鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
[0033]優(yōu)選地,該裝置還包括數(shù)據(jù)輸出模塊,
[0034]所述數(shù)據(jù)輸出模塊,用于輸出解析出的預(yù)設(shè)類型信息。
[0035]優(yōu)選地,所述分析模塊,用于當(dāng)鎖定的腳本指令為自定義函數(shù)指令時(shí),分析是否輸出函數(shù)的代碼內(nèi)容;
[0036]所述數(shù)據(jù)輸出模塊,用于在需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出函數(shù)的代碼內(nèi)容及解析出的預(yù)設(shè)類型信息,在不需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出解析出的預(yù)設(shè)類型信息;及
[0037]當(dāng)鎖定的腳本指令為瀏覽器本地函數(shù)指令時(shí),輸出解析出的預(yù)設(shè)類型信息。
[0038]相對(duì)現(xiàn)有技術(shù),本發(fā)明在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
【專利附圖】
【附圖說明】
[0039]圖1為本發(fā)明瀏覽器待故障分析的腳本信息的獲取方法的第一實(shí)施例的流程示意圖;
[0040]圖2為本發(fā)明瀏覽器待故障分析的腳本信息的獲取方法的第二實(shí)施例的流程示意圖;
[0041]圖3為本發(fā)明瀏覽器待故障分析的腳本信息的獲取裝置的第一實(shí)施例的功能模塊不意圖;
[0042]圖4為本發(fā)明瀏覽器待故障分析的腳本信息的獲取裝置的第二實(shí)施例的功能模塊不意圖。
[0043]本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明?!揪唧w實(shí)施方式】
[0044]應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0045]如圖1所示,為本發(fā)明瀏覽器待故障分析的腳本信息的獲取方法的第一實(shí)施例的流程示意圖。
[0046]需要強(qiáng)調(diào)的是:圖1所示流程圖僅為一個(gè)較佳實(shí)施例,本領(lǐng)域的技術(shù)人員當(dāng)知,任何圍繞本發(fā)明思想構(gòu)建的實(shí)施例都不應(yīng)脫離于如下技術(shù)方案涵蓋的范圍:
[0047]在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
[0048]以下是本實(shí)施例逐步實(shí)現(xiàn)獲取瀏覽器待故障分析的腳本信息的具體步驟:
[0049]步驟S11,在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作。
[0050]具體的,本實(shí)施例中優(yōu)選為通過瀏覽器實(shí)現(xiàn)獲取瀏覽器待故障分析的腳本信息的具體步驟,該瀏覽器進(jìn)一步地優(yōu)選為智能電視加載的瀏覽器。當(dāng)瀏覽器出現(xiàn)故障時(shí),用戶通過網(wǎng)絡(luò)登錄到智能電視系統(tǒng),并向?yàn)g覽器發(fā)送一個(gè)瀏覽器待故障分析的腳本信息獲取指令。瀏覽器在接收到用戶發(fā)出的瀏覽器待故障分析的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,即,瀏覽器在偵測(cè)到用戶重現(xiàn)瀏覽器發(fā)生故障的全過程的操作時(shí),監(jiān)控用戶重現(xiàn)瀏覽器發(fā)生故障的全過程的操作,獲取并分析用戶該操作過程中,瀏覽器運(yùn)行的腳本指令。
[0051]步驟S12,在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);
[0052]步驟S13,對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
[0053]具體的,瀏覽器在監(jiān)控到所述操作事件時(shí),開始下載在所述操作事件中運(yùn)行的頁(yè)面腳本文件,對(duì)所述操作事件運(yùn)行的頁(yè)面腳本文件進(jìn)行詞法解析和語法解析,將頁(yè)面腳本文件解析為片段腳本語言字符串,瀏覽器將解析的片段腳本語言字符串生成語言字節(jié)信息,即為腳本語言運(yùn)行的每條指令,即腳本指令。當(dāng)所述操作事件的腳本指令逐條運(yùn)行時(shí),瀏覽器逐條分析所述操作事件中運(yùn)行的腳本指令是否為函數(shù)指令,若當(dāng)前分析的所述操作事件運(yùn)行的腳本指令為函數(shù)指令時(shí),則鎖定該腳本指令;在當(dāng)前分析的所述操作事件當(dāng)前運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析下一條所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,直至分析完所有所述操作事件運(yùn)行的腳本指令,即逐條分析所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,在運(yùn)行的腳本指令為函數(shù)指令時(shí),對(duì)為函數(shù)指令的運(yùn)行的腳本指令進(jìn)行鎖定,在運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析下一條運(yùn)行的腳本指令,重復(fù)執(zhí)行分析和鎖定的步驟,直至分析完所有所述操作事件運(yùn)行的腳本指令,從分析的腳本指令中鎖定所有為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
[0054]在確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)時(shí),對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。所述預(yù)設(shè)類型信息可以是函數(shù)的名稱、函數(shù)參數(shù)或函數(shù)的位置信息等。例如,對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的函數(shù)名稱,或以解析出確定的函數(shù)對(duì)應(yīng)的函數(shù)參數(shù),或以解析出確定的函數(shù)對(duì)應(yīng)函數(shù)的位置信息。解析出的預(yù)設(shè)類型信息包括上述預(yù)設(shè)類型信息中的一種或者多種組合,本實(shí)施例中預(yù)設(shè)類型信息優(yōu)選為上述三種預(yù)設(shè)類型信息的組合,即對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的函數(shù)名稱、函數(shù)參數(shù)及函數(shù)的位置信息。所述函數(shù)的位置信息包括但不限于該函數(shù)所在文件的名稱、所在文件的位置及該函數(shù)在該文件中的行數(shù)。
[0055]本實(shí)施例在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
[0056]如圖2所示,為本發(fā)明瀏覽器待故障分析的腳本信息的獲取方法的第一實(shí)施例的流程示意圖。
[0057]基于上述第一實(shí)施例,在步驟S13之后,該方法還包括:
[0058]步驟S14,輸出解析出的預(yù)設(shè)類型信息。
[0059]具體的,瀏覽器在對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息之后,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息,輸出解析出的預(yù)設(shè)類型信息。所述輸出的方式包括但不限于將解析出的預(yù)設(shè)類型信息保存至預(yù)存目的地址、顯示解析出的預(yù)設(shè)類型信息或?qū)⒔馕龀龅念A(yù)設(shè)類型信息發(fā)送至預(yù)存目的端。所述預(yù)存目的地址可以是根據(jù)用戶指令預(yù)先設(shè)置的智能電視的一個(gè)存儲(chǔ)區(qū)域;所述顯示解析出的預(yù)設(shè)類型信息的方式可以是文字、圖片或者聲音等;所述預(yù)存目的端可以是郵箱地址、微信號(hào)碼或微博賬號(hào)等。
[0060]所述輸出解析出的預(yù)設(shè)類型信息的步驟包括:當(dāng)鎖定的腳本指令為自定義函數(shù)指令時(shí),分析是否輸出函數(shù)的代碼內(nèi)容,在需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出函數(shù)的代碼內(nèi)容及解析出的預(yù)設(shè)類型信息,在不需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出解析出的預(yù)設(shè)類型信息;當(dāng)鎖定的腳本指令為瀏覽器本地函數(shù)指令時(shí),輸出解析出的預(yù)設(shè)類型信息。所述預(yù)設(shè)類型信息為函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信息等。
[0061]在一優(yōu)選的實(shí)施例中,為了進(jìn)一步的方便開發(fā)人員快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度,在輸出解析出的預(yù)設(shè)類型信息之前,該方法還包括步驟:
[0062]對(duì)解析出的預(yù)設(shè)類型信息進(jìn)行預(yù)設(shè)方式的處理,輸出處理后的預(yù)設(shè)類型信息。所述預(yù)設(shè)方式的處理包括但不限于對(duì)預(yù)設(shè)類型信息中包括的不必要的信息進(jìn)行刪除。例如,解析得到函數(shù)所在文件的名稱和進(jìn)入該文件的路徑,如果路徑信息過長(zhǎng)且包括一些不必要的信息,則將路徑信息中不必要的信息刪除,得到該函數(shù)在所在文件中的具體位置。若所述預(yù)設(shè)類型信息包括函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信息,則輸出該函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信息。
[0063]具體的,若鎖定的腳本指令為自定義函數(shù)指令,則瀏覽器根據(jù)運(yùn)行的腳本指令的上下文信息,在解析后的腳本指令中找出對(duì)應(yīng)的函數(shù)關(guān)系存儲(chǔ)對(duì)象,在該對(duì)象中獲取當(dāng)前鎖定的腳本指令的函數(shù)關(guān)系表,進(jìn)而獲取到當(dāng)前鎖定的腳本指令的預(yù)設(shè)類型信息,保存函數(shù)的輸入?yún)?shù)值,由瀏覽器在解析當(dāng)前鎖定的腳本指令的預(yù)設(shè)類型信息中讀取對(duì)應(yīng)的函數(shù)名稱,如果存在則直接保存,如果不存在說明該函數(shù)可能在腳本文件中屬于回調(diào)函數(shù)或者直接運(yùn)行函數(shù),沒有函數(shù)名,瀏覽器直接產(chǎn)生默認(rèn)函數(shù)名稱;根據(jù)當(dāng)前鎖定的腳本指令的預(yù)設(shè)類型信息的解析內(nèi)容,獲取上下文中該函數(shù)所在文件的名稱和路徑信息,如果路徑信息過長(zhǎng)并且有一些不必要的參數(shù)信息,將路徑信息中不必要的信息刪除,然后計(jì)算該函數(shù)所在文件中的具體位置信息,最后分析是否需要輸出函數(shù)的代碼內(nèi)容,若需要輸出該函數(shù)代碼內(nèi)容,則根據(jù)串口輸出最大的字節(jié)數(shù)進(jìn)行循環(huán)打印輸出并將所有的函數(shù)名稱、函數(shù)參數(shù)、文件名稱和路徑信息、函數(shù)位置信息輸出。例如,自定義的一個(gè)腳本文件中的函數(shù)為init,瀏覽器輸出的解析后的腳本信息為:函數(shù)的名稱為init,函數(shù)所在的文件的額路徑信息是:/tclbw/tv/HTMLUI/volume, html,行號(hào)開始87行,結(jié)束91行,函數(shù)內(nèi)容在code里面:[JAVASCRIPT]:—function init (),
[0064]file</tclbw/tv/HTMLUI/volume.html>, line[87-91],
[0065]code={volume=top.g_channel.volume;$("volume—name").1nnerHTML=voIumeName;$(〃scan_progress_img〃).style.width=parselnt(volume氺690/100)+〃px〃;}。
[0066]若鎖定的腳本指令為瀏覽器本地函數(shù)指令,則瀏覽器確定實(shí)現(xiàn)該函數(shù)功能的函數(shù)功能代碼,對(duì)確定的函 數(shù)進(jìn)行解析,以解析出對(duì)應(yīng)的預(yù)設(shè)類型信息,保存該函數(shù)的輸入?yún)?shù)信息和該函數(shù)的名稱,根據(jù)該函數(shù)解析出的預(yù)設(shè)類型信息獲取該函數(shù)的上下文,確定該函數(shù)所在文件的名稱和路徑信息,如果路徑信息過長(zhǎng)并且有一些不必要的參數(shù)信息,將路徑信息中不必要的信息刪除,然后計(jì)算該函數(shù)所在文件中的具體位置信息,將解析出的所有瀏覽器本地函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信息輸出。例如,假設(shè)當(dāng)前執(zhí)行的腳本指令在文件volume, html中,該函數(shù)所在的文件的全部路徑是:
[0067]http://192.168.0.119/tclbw/tv/volume.html?a=l, b=3, c=3, idd=333, revert=09, in fo=imsogre, class=dsfgd.jsss, coolkie=3333,在該文件中當(dāng)前執(zhí)行的腳本代碼是:
[0068]$("scan_progress_img").style.width=parselnt(volume*690/100)+"px";
[0069]parselnt為瀏覽器系統(tǒng)的本地函數(shù),瀏覽器對(duì)預(yù)設(shè)類型信息解析得出該函數(shù)所在的文件是volume, html,路徑是:
[0070]http://192.168.0.119/tclbw/tv/volume.html?a=l, b=3, c=3, idd=333, revert=09, in fo=imsogre, class=dsfgd.jsss, coolkie=3333,
[0071]經(jīng)過對(duì)路徑優(yōu)化得到現(xiàn)任路徑/tclbw/tv/volume.html (問號(hào)代表鏈接附加的一些額外數(shù)據(jù)信息,192.168.0.119地址信息無用,打印信息越多可能導(dǎo)致信息丟失),瀏覽器在對(duì)解析后的預(yù)設(shè)類型信息進(jìn)行預(yù)設(shè)方式的處理后,即將路徑信息中的無用信息進(jìn)行刪除后,確定輸出的腳本信息是:
[0072][JAVASCRIPT]:—function parselnt (value, command)[native], file</tclbw/tv/volume.html>, line [88],即該 parselnt 函數(shù)所在文件 volume, html 在 /tclbw/tv/volume, html 中,該 parselnt 函數(shù)在文件 volume, html 的 88 行。
[0073]本實(shí)施例通過對(duì)解析出的預(yù)設(shè)類型信息進(jìn)行預(yù)設(shè)方式的處理,以更加準(zhǔn)確、有效的輸出待故障分析的腳本信息,以使開發(fā)人員能直接、有效的找到瀏覽器故障待分析的腳本信息。進(jìn)一步有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
[0074]如圖3所示,為本發(fā)明瀏覽器待故障分析的腳本信息的獲取裝置的第一實(shí)施例的功能模塊示意圖。該裝置包括響應(yīng)模塊10、處理模塊20、數(shù)據(jù)解析模塊30及分析模塊40,
[0075]所述響應(yīng)模塊10,用于在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作。[0076]具體的,本實(shí)施例中瀏覽器待故障分析的腳本信息的獲取裝置優(yōu)選為瀏覽器,該瀏覽器進(jìn)一步地優(yōu)選為智能電視加載的瀏覽器。當(dāng)瀏覽器出現(xiàn)故障時(shí),用戶通過網(wǎng)絡(luò)登錄到智能電視系統(tǒng),并向?yàn)g覽器發(fā)送一個(gè)瀏覽器待故障分析的腳本信息獲取指令。在接收到用戶發(fā)出的瀏覽器待故障分析的腳本信息獲取指令時(shí),響應(yīng)模塊10響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,即,響應(yīng)模塊10在偵測(cè)到用戶重現(xiàn)瀏覽器發(fā)生故障的全過程的操作時(shí),監(jiān)控用戶重現(xiàn)瀏覽器發(fā)生故障的全過程的操作,獲取并分析用戶該操作過程中,瀏覽器運(yùn)行的腳本指令。
[0077]所述處理模塊20,用于在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);
[0078]所述數(shù)據(jù)解析模塊30,用于對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
[0079]具體的,處理模塊20在監(jiān)控到所述操作事件時(shí),開始下載在所述操作事件中運(yùn)行的頁(yè)面腳本文件,數(shù)據(jù)解析模塊30對(duì)所述操作事件運(yùn)行的頁(yè)面腳本文件進(jìn)行詞法解析和語法解析,將頁(yè)面腳本文件解析為片段腳本語言字符串,將解析的片段腳本語言字符串生成語言字節(jié)信息,即為腳本語言運(yùn)行的每條指令,即腳本指令。當(dāng)所述操作事件的腳本指令逐條運(yùn)行時(shí),分析模塊40逐條分析運(yùn)行的腳本指令是否為函數(shù)指令,當(dāng)前分析的所述操作事件運(yùn)行的腳本指令為函數(shù)指令時(shí),處理模塊20鎖定該腳本指令;在當(dāng)前分析的所述操作事件當(dāng)前運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析模塊40分析下一條所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,直至分析完所有所述操作事件運(yùn)行的腳本指令,即分析模塊40逐條分析所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,處理模塊20在運(yùn)行的腳本指令為函數(shù)指令時(shí),對(duì)為函數(shù)指令的運(yùn)行的腳本指令進(jìn)行鎖定,在運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析模塊40分析下一條運(yùn)行的腳本指令,重復(fù)執(zhí)行分析和鎖定的過程,直至分析模塊40分析完所有所述操作事件運(yùn)行的腳本指令,處理模塊20從分析的腳本指令中鎖定所有為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
[0080]在確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)時(shí),數(shù)據(jù)解析模塊30對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。所述預(yù)設(shè)類型可以是函數(shù)的名稱、函數(shù)參數(shù)或函數(shù)的位置信息等。例如,數(shù)據(jù)解析模塊30對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的函數(shù)名稱,或以解析出確定的函數(shù)對(duì)應(yīng)的函數(shù)參數(shù),或以解析出確定的函數(shù)對(duì)應(yīng)函數(shù)的位置信息。解析出的預(yù)設(shè)類型信息包括上述預(yù)設(shè)類型信息中的一種或者多種組合,本實(shí)施例中預(yù)設(shè)類型信息優(yōu)選為上述三種預(yù)設(shè)類型信息的組合,即數(shù)據(jù)解析模塊30對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的函數(shù)名稱、函數(shù)參數(shù)及函數(shù)的位置信息。所述函數(shù)的位置信息包括但不限于該函數(shù)所在文件的名稱及該函數(shù)在該文件中的行數(shù)。
[0081]本實(shí)施例在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)模塊10響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作;在監(jiān)控到所述操作事件時(shí),處理模塊20在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù);數(shù)據(jù)解析模塊30對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
[0082]如圖4所示,為本發(fā)明瀏覽器待故障分析的腳本信息的獲取裝置的第二實(shí)施例的功能模塊示意圖。該裝置還包括輸出模塊50,
[0083]所述數(shù)據(jù)輸出模塊50,用于輸出解析出的預(yù)設(shè)類型信息。
[0084]具體的,數(shù)據(jù)解析模塊30在對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息之后,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息,輸出模塊50輸出解析出的預(yù)設(shè)類型信息。所述輸出模塊50輸出預(yù)設(shè)類型信息的方式包括但不限于將解析出的預(yù)設(shè)類型信息保存至預(yù)存目的地址、顯示解析出的預(yù)設(shè)類型信息或?qū)⒔馕龀龅念A(yù)設(shè)類型信息發(fā)送至預(yù)存目的端。所述預(yù)存目的地址可以是根據(jù)用戶指令預(yù)先設(shè)置的智能電視的一個(gè)存儲(chǔ)區(qū)域;所述顯示解析出的預(yù)設(shè)類型信息的方式可以是文字、圖片或者聲音等;所述預(yù)存目的端可以是郵箱地址、微信號(hào)碼或微博賬號(hào)等。
[0085]所述輸出模塊50輸出解析出的預(yù)設(shè)類型信息的過程包括:當(dāng)鎖定的腳本指令為自定義函數(shù)指令時(shí),分析模塊40分析是否輸出函數(shù)的代碼內(nèi)容,在需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出模塊50輸出函數(shù)的代碼內(nèi)容及解析出的預(yù)設(shè)類型信息,在不需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出模塊50輸出解析出的預(yù)設(shè)類型信息;當(dāng)鎖定的腳本指令為瀏覽器本地函數(shù)指令時(shí),輸出模塊50輸出解析出的預(yù)設(shè)類型信息。
[0086]在一優(yōu)選的實(shí)施例中,為了進(jìn)一步的方便開發(fā)人員快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度,在輸出模塊50輸出解析出的預(yù)設(shè)類型信息之前,處理模塊20對(duì)解析出的預(yù)設(shè)類型信息進(jìn)行預(yù)設(shè)方式的處理,輸出模塊50輸出處理后的預(yù)設(shè)類型信息。所述預(yù)設(shè)方式的處理包括但不限于對(duì)預(yù)設(shè)類型信息中包括的不必要的信息進(jìn)行刪除。例如,數(shù)據(jù)解析模塊30解析得到函數(shù)所在文件的名稱和進(jìn)入該文件的路徑,若路徑信息過長(zhǎng)且包括一些不必要的信息,則處理模塊20將路徑信息中不必要的信息刪除,得到該函數(shù)在所在文件中的具體位置。若所述預(yù)設(shè)類型信息包括函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信息,則輸出模塊50輸出該函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信肩、O
[0087]具體的,若鎖定的腳本指令為自定義函數(shù)指令,則處理模塊20根據(jù)運(yùn)行的腳本指令的上下文信息,在解析后的腳本指令中找出對(duì)應(yīng)的函數(shù)關(guān)系存儲(chǔ)對(duì)象,在該對(duì)象中獲取當(dāng)前鎖定的腳本指令的函數(shù)關(guān)系表,進(jìn)而獲取到當(dāng)前鎖定的腳本指令的預(yù)設(shè)類型信息,保存函數(shù)的輸入?yún)?shù)值,由處理模塊20在解析當(dāng)前鎖定的腳本指令的預(yù)設(shè)類型信息中讀取對(duì)應(yīng)的函數(shù)名稱,如果存在則直接保存,如果不存在說明該函數(shù)可能在腳本文件中屬于回調(diào)函數(shù)或者直接運(yùn)行函數(shù),沒有函數(shù)名,處理模塊20直接產(chǎn)生默認(rèn)函數(shù)名稱;數(shù)據(jù)解析模塊30根據(jù)當(dāng)前鎖定的腳本指令的預(yù)設(shè)類型信息的解析內(nèi)容,獲取上下文中該函數(shù)所在文件的名稱和路徑信息,若路徑信息過長(zhǎng)并且有一些不必要的參數(shù)信息,則處理模塊20將路徑信息中不必要的信息刪除,然后計(jì)算該函數(shù)所在文件中的具體位置信息,最后分析模塊40分析是否需要輸出函數(shù)的代碼內(nèi)容,若需要輸出該函數(shù)代碼內(nèi)容,則輸出模塊50根據(jù)串口輸出最大的字節(jié)數(shù)進(jìn)行循環(huán)打印輸出并將所有的函數(shù)名稱、函數(shù)參數(shù)、文件名稱和路徑信息、函數(shù)位置信息輸出。例如,自定義的一個(gè)腳本文件中的函數(shù)為init,輸出模塊50輸出的數(shù)據(jù)解析模塊30解析后的腳本信息為:函數(shù)的名稱為init,函數(shù)所在的文件的額路徑信息是:/tclbw/tv/HTMLUI/volume.html,行號(hào)開始87行,結(jié)束91行,函數(shù)內(nèi)容在code里面:[JAVASCRIPT]:—function
[0088]init () , f i le< / tclbw / tv/HTMLUI / volume, html >, line [87-91],code={volume=top.g_channel.volume;$(〃volume_name〃).1nnerHTML=voIumeName;$(〃scan_progress_img〃)? style.width=parselnt(volume*690/l00)+"px";}。
[0089]若鎖定的腳本指令為瀏覽器本地函數(shù)指令,則數(shù)據(jù)解析模塊30確定實(shí)現(xiàn)該函數(shù)功能的函數(shù)功能代碼,對(duì)確定的函數(shù)進(jìn)行解析,以解析出對(duì)應(yīng)的預(yù)設(shè)類型信息,保存該函數(shù)的輸入?yún)?shù)信息和該函數(shù)的名稱,根據(jù)該函數(shù)解析出的預(yù)設(shè)類型信息獲取該函數(shù)的上下文,確定該函數(shù)所在文件的名稱和路徑信息,若路徑信息過長(zhǎng)并且有一些不必要的參數(shù)信息,則處理模塊20將路徑信息中不必要的信息刪除,然后計(jì)算該函數(shù)所在文件中的具體位置信息,輸出模塊50將解析出的所有瀏覽器本地函數(shù)的名稱、函數(shù)參數(shù)及函數(shù)的位置信息輸出。例如,假設(shè)當(dāng)前執(zhí)行的腳本指令在文件volume, html中,該函數(shù)所在的文件的全部路徑是:
[0090]http://192.168.0.119/tclbw/tv/volume.html?a=l, b=3, c=3, idd=333, revert=09, in fo=imsogre, class=dsfgd.jsss, coolkie=3333,在該文件中當(dāng)前執(zhí)行的腳本代碼是:
[0091]$("scan_progress_img").style.width=parselnt(volume*690/100)+"px";
[0092]parselnt為瀏覽器系統(tǒng)的本地函數(shù),數(shù)據(jù)解析模塊30對(duì)預(yù)設(shè)類型信息解析得出該函數(shù)所在的文件是volume, html,路徑是:
[0093]http://192.168.0.119/tclbw/tv/volume.html?a=l, b=3, c=3, idd=333, revert=09, in fo=imsogre, class=dsfgd.jsss, coolkie=3333,
[0094]經(jīng)過處理模塊20對(duì)路徑優(yōu)化得到現(xiàn)任路徑/tclbw/tv/volume, html (問號(hào)代表鏈接附加的一些額外數(shù)據(jù)信息,192.168.0.119地址信息無用,打印信息越多可能導(dǎo)致信息丟失),處理模塊20在對(duì)解析后的預(yù)設(shè)類型信息進(jìn)行預(yù)設(shè)方式的處理后,即將路徑信息中的無用信息進(jìn)行刪除后,確定輸出模塊50輸出的輸出的腳本信息是:
[0095][JAVASCRIPT]:—function parselnt (value, command)[native], file</tclbw/tv/volume.html>, line [88],即該 parselnt 函數(shù)所在文件 volume, html 在 /tclbw/tv/volume, html 中,該 parselnt 函數(shù)在文件 volume, html 的 88 行。
[0096]本實(shí)施例通過處理模塊20對(duì)解析出的預(yù)設(shè)類型信息進(jìn)行預(yù)設(shè)方式的處理,以更加準(zhǔn)確、有效的輸出待故障分析的腳本信息,以使開發(fā)人員能直接、有效的找到瀏覽器故障待分析的腳本信息。進(jìn)一步有效避免了浪費(fèi)開發(fā)人員業(yè)務(wù)應(yīng)用實(shí)現(xiàn)的腳本語言進(jìn)行定位的時(shí)間的問題,快速、準(zhǔn)確地對(duì)出現(xiàn)問題的腳本語言的執(zhí)行邏輯進(jìn)行定位,提高解決瀏覽器故障的速度。
[0097]以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
【權(quán)利要求】
1.一種瀏覽器待故障分析的腳本信息的獲取方法,其特征在于,該方法包括: 在接收到用戶發(fā)出的瀏覽器故障腳本信息的獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作; 在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù); 對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
2.根據(jù)權(quán)利要求1所述的瀏覽器待故障分析的腳本信息的獲取方法,其特征在于,所述在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)的步驟包括: 在監(jiān)控到所述操作事件時(shí),對(duì)所述操作事件運(yùn)行的頁(yè)面腳本文件進(jìn)行詞法解析和語法解析,以生成對(duì)應(yīng)的腳本指令; 從生成的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
3.根據(jù)權(quán)利要求1或2所述的瀏覽器待故障分析的腳本信息的獲取方法,其特征在于,所述在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)的步驟包括: 逐條分析所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令;` 在當(dāng)前分析的所述操作事件運(yùn)行的腳本指令為函數(shù)指令時(shí),鎖定該腳本指令; 在當(dāng)前分析的所述操作事件當(dāng)前運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析下一條所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,直至分析完所有所述操作事件運(yùn)行的腳本指令,并從分析的腳本指令中鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
4.根據(jù)權(quán)利要求1所述的瀏覽器待故障分析的腳本信息的獲取方法,其特征在于,所述對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息的步驟之后,該方法還包括: 輸出解析出的預(yù)設(shè)類型信息。
5.根據(jù)權(quán)利要求4所述的瀏覽器待故障分析的腳本信息的獲取方法,其特征在于,所述輸出解析出的預(yù)設(shè)類型信息的步驟包括: 當(dāng)鎖定的腳本指令為自定義函數(shù)指令時(shí),分析是否輸出函數(shù)的代碼內(nèi)容,在需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出函數(shù)的代碼內(nèi)容及解析出的預(yù)設(shè)類型信息,在不需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出解析出的預(yù)設(shè)類型信息; 當(dāng)鎖定的腳本指令為瀏覽器本地函數(shù)指令時(shí),輸出解析出的預(yù)設(shè)類型信息。
6.一種瀏覽器待故障分析的腳本信息的獲取裝置,其特征在于,該裝置包括: 響應(yīng)模塊,用于在接收到用戶發(fā)出的瀏覽器故障的腳本信息獲取指令時(shí),響應(yīng)該指令以監(jiān)控用戶對(duì)瀏覽器的操作事件,其中,所述操作事件為重現(xiàn)瀏覽器發(fā)生故障過程的操作; 處理模塊,用于在監(jiān)控到所述操作事件時(shí),在所述操作事件運(yùn)行的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù); 數(shù)據(jù)解析模塊,用于對(duì)確定的函數(shù)進(jìn)行解析,以解析出確定的函數(shù)對(duì)應(yīng)的預(yù)設(shè)類型信息,其中,解析出的預(yù)設(shè)類型信息即為待故障分析的腳本信息。
7.根據(jù)權(quán)利要求6所述的瀏覽器待故障分析的腳本信息的獲取裝置,其特征在于, 所述數(shù)據(jù)解析模塊,還用于在監(jiān)控到所述操作事件時(shí),對(duì)所述操作事件運(yùn)行的頁(yè)面腳本文件進(jìn)行詞法解析和語法解析,以生成對(duì)應(yīng)的腳本指令; 所述處理模塊,用于從生成的腳本指令中,鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
8.根據(jù)權(quán)利要求6或7所述的瀏覽器待故障分析的腳本信息的獲取裝置,其特征在于,該裝置還包括分析模塊, 所述分析模塊,用于逐條分析的所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令;所述處理模塊,用于在當(dāng)前分析的所述操作事件運(yùn)行的腳本指令為函數(shù)指令時(shí),鎖定該腳本指令; 所述分析模塊,還用于在當(dāng)前分析的所述操作事件當(dāng)前運(yùn)行的腳本指令不為函數(shù)指令時(shí),分析下一條所述操作事件運(yùn)行的腳本指令是否為函數(shù)指令,直至分析完所有所述操作事件運(yùn)行的腳本指令; 所述處理模塊,還用于從分析模塊分析的腳本指令中鎖定為函數(shù)指令的腳本指令,并確定鎖定的腳本指令對(duì)應(yīng)的函數(shù)。
9.根據(jù)權(quán)利要求6所述的瀏覽器待故障分析的腳本信息的獲取裝置,其特征在于,該裝置還包括數(shù)據(jù)輸出模塊, 所述數(shù)據(jù)輸出模塊,用于輸出解析出的預(yù)設(shè)類型信息。
10.根據(jù)權(quán)利要求9所述`的瀏覽器待故障分析的腳本信息的獲取裝置,其特征在于, 所述分析模塊,用于當(dāng)鎖定的腳本指令為自定義函數(shù)指令時(shí),分析是否輸出函數(shù)的代碼內(nèi)容; 所述數(shù)據(jù)輸出模塊,用于在需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出函數(shù)的代碼內(nèi)容及解析出的預(yù)設(shè)類型信息,在不需要輸出函數(shù)的代碼內(nèi)容時(shí),輸出解析出的預(yù)設(shè)類型信息;及當(dāng)鎖定的腳本指令為瀏覽器本地函數(shù)指令時(shí),輸出解析出的預(yù)設(shè)類型信息。
【文檔編號(hào)】G06F11/36GK103678134SQ201310719022
【公開日】2014年3月26日 申請(qǐng)日期:2013年12月23日 優(yōu)先權(quán)日:2013年12月23日
【發(fā)明者】趙劍萍 申請(qǐng)人:深圳Tcl新技術(shù)有限公司