新四季網

瀏覽器待故障分析的腳本信息的獲取方法及裝置製造方法

2023-06-10 09:30:11 1

瀏覽器待故障分析的腳本信息的獲取方法及裝置製造方法
【專利摘要】本發明公開了一種瀏覽器待故障分析的腳本信息的獲取方法及裝置,本發明在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
【專利說明】瀏覽器待故障分析的腳本信息的獲取方法及裝置
【技術領域】
[0001]本發明涉及到智能終端瀏覽器故障處理領域,特別涉及到一種瀏覽器待故障分析的腳本信息的獲取方法及裝置。
【背景技術】
[0002]隨著智能終端(例如,智能電視)的快速發展,人們對智能電視要求越來越高,由此業務系統引入的業務應用也越來越多,而這些業務的呈現都需要通過智能電視的瀏覽器來實現,即需要嵌入式瀏覽器支持的功能越來越複雜,例如,HTML5音視頻播放、3D頁面顯示、Widget應用、多窗口展示及網絡離線存儲等新業務應用的迅速推廣。大量的業務應用都是通過網頁設計(頁面邏輯控制)進行實現,而網頁設計主要是由腳本語言來完成,越複雜的業務應用就需要多樣化和複雜話的頁面邏輯控制來完成,因此,腳本語言(例如,javascript)在網頁設計中就越來越重要。腳本語言的執行都是通過瀏覽器進行,所以複雜的腳本邏輯一旦出現問題,將直接導致用戶無法正常的訪問頁面,極大的降低了用戶的體驗度。同時,如果腳本邏輯出現問題,就需要瀏覽器開發人員對業務應用實現的腳本語言進行定位分析,找出利用腳本語言無法實現業務應用的原因,但是複雜的頁面和腳本語言讓瀏覽器開發人員不知道從何開始入手分析。
[0003]目前,瀏覽器開發人員對業務應用實現的腳本語言進行定位分析的方式通常為:由瀏覽器開發人員對頁面和腳本語言進行重新組合連結,讓瀏覽器進行腳本邏輯問題的重現,並在腳本語言中盲目的添加大量列印信息,然後通過查看腳本語言中添加的列印信息,找到腳本語言執行的方式和路徑,如果列印信息添加的有誤,還需要反覆的進行這樣的操作。
[0004]因而,上述定位分析的方式極大的浪費了開發人員的時間,且無法準確的對出現問題的腳本語言的執行邏輯進行定位,降低了解決瀏覽器故障的速度。

【發明內容】

[0005]本發明的主要目的為提供一種瀏覽器待故障分析的腳本信息的獲取方法及裝置,有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
[0006]本發明提出一種瀏覽器待故障分析的腳本信息的獲取方法,該方法包括:
[0007]在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;
[0008]在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;
[0009]對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
[0010]優選地,所述在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數的步驟包括:
[0011]在監控到所述操作事件時,對所述操作事件運行的頁面腳本文件進行詞法解析和語法解析,以生成對應的腳本指令;
[0012]從生成的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
[0013]優選地,所述在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數的步驟包括:
[0014]逐條分析所述操作事件運行的腳本指令是否為函數指令;
[0015]在當前分析的所述操作事件運行的腳本指令為函數指令時,鎖定該腳本指令;
[0016]在當前分析的所述操作事件當前運行的腳本指令不為函數指令時,分析下一條所述操作事件運行的腳本指令是否為函數指令,直至分析完所有所述操作事件運行的腳本指令,並從分析的腳本指令中鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
[0017]優選地,所述對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息的步驟之後,該方法還包括:
[0018]輸出解析出的預設類型信息。
[0019]優選地,所述輸出解析出的預設類型信息的步驟包括:
[0020]當鎖定的腳本指令為自定義函數指令時,分析是否輸出函數的代碼內容,在需要輸出函數的代碼內容時,輸出函數的代碼內容及解析出的預設類型信息,在不需要輸出函數的代碼內容時,輸出解析出的預設類型信息;
[0021]當鎖定的腳本指令為瀏覽器本地函數指令時,輸出解析出的預設類型信息。
[0022]本發明還提出一種瀏覽器待故障分析的腳本信息的獲取裝置,該裝置包括:
[0023]響應模塊,用於在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;
[0024]處理模塊,用於在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;
[0025]數據解析模塊,用於對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
[0026]優選地,所述數據解析模塊,還用於在監控到所述操作事件時,對所述操作事件運行的頁面腳本文件進行詞法解析和語法解析,以生成對應的腳本指令;
[0027]所述處理模塊,用於從生成的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
[0028]優選地,該裝置還包括分析模塊,
[0029]所述分析模塊,用於逐條分析所述操作事件運行的腳本指令是否為函數指令;
[0030]所述處理模塊,用於在當前分析的所述操作事件運行的腳本指令為函數指令時,鎖定該腳本指令;
[0031]所述分析模塊,還用於在當前分析的所述操作事件當前運行的腳本指令不為函數指令時,分析下一條所述操作事件運行的腳本指令是否為函數指令,直至分析完所有所述操作事件運行的腳本指令;
[0032]所述處理模塊,還用於從分析模塊分析的腳本指令中鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
[0033]優選地,該裝置還包括數據輸出模塊,
[0034]所述數據輸出模塊,用於輸出解析出的預設類型信息。
[0035]優選地,所述分析模塊,用於當鎖定的腳本指令為自定義函數指令時,分析是否輸出函數的代碼內容;
[0036]所述數據輸出模塊,用於在需要輸出函數的代碼內容時,輸出函數的代碼內容及解析出的預設類型信息,在不需要輸出函數的代碼內容時,輸出解析出的預設類型信息;及
[0037]當鎖定的腳本指令為瀏覽器本地函數指令時,輸出解析出的預設類型信息。
[0038]相對現有技術,本發明在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
【專利附圖】

【附圖說明】
[0039]圖1為本發明瀏覽器待故障分析的腳本信息的獲取方法的第一實施例的流程示意圖;
[0040]圖2為本發明瀏覽器待故障分析的腳本信息的獲取方法的第二實施例的流程示意圖;
[0041]圖3為本發明瀏覽器待故障分析的腳本信息的獲取裝置的第一實施例的功能模塊不意圖;
[0042]圖4為本發明瀏覽器待故障分析的腳本信息的獲取裝置的第二實施例的功能模塊不意圖。
[0043]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。【具體實施方式】
[0044]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0045]如圖1所示,為本發明瀏覽器待故障分析的腳本信息的獲取方法的第一實施例的流程示意圖。
[0046]需要強調的是:圖1所示流程圖僅為一個較佳實施例,本領域的技術人員當知,任何圍繞本發明思想構建的實施例都不應脫離於如下技術方案涵蓋的範圍:
[0047]在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
[0048]以下是本實施例逐步實現獲取瀏覽器待故障分析的腳本信息的具體步驟:
[0049]步驟S11,在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作。
[0050]具體的,本實施例中優選為通過瀏覽器實現獲取瀏覽器待故障分析的腳本信息的具體步驟,該瀏覽器進一步地優選為智能電視加載的瀏覽器。當瀏覽器出現故障時,用戶通過網絡登錄到智能電視系統,並向瀏覽器發送一個瀏覽器待故障分析的腳本信息獲取指令。瀏覽器在接收到用戶發出的瀏覽器待故障分析的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,即,瀏覽器在偵測到用戶重現瀏覽器發生故障的全過程的操作時,監控用戶重現瀏覽器發生故障的全過程的操作,獲取並分析用戶該操作過程中,瀏覽器運行的腳本指令。
[0051]步驟S12,在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;
[0052]步驟S13,對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
[0053]具體的,瀏覽器在監控到所述操作事件時,開始下載在所述操作事件中運行的頁面腳本文件,對所述操作事件運行的頁面腳本文件進行詞法解析和語法解析,將頁面腳本文件解析為片段腳本語言字符串,瀏覽器將解析的片段腳本語言字符串生成語言字節信息,即為腳本語言運行的每條指令,即腳本指令。當所述操作事件的腳本指令逐條運行時,瀏覽器逐條分析所述操作事件中運行的腳本指令是否為函數指令,若當前分析的所述操作事件運行的腳本指令為函數指令時,則鎖定該腳本指令;在當前分析的所述操作事件當前運行的腳本指令不為函數指令時,分析下一條所述操作事件運行的腳本指令是否為函數指令,直至分析完所有所述操作事件運行的腳本指令,即逐條分析所述操作事件運行的腳本指令是否為函數指令,在運行的腳本指令為函數指令時,對為函數指令的運行的腳本指令進行鎖定,在運行的腳本指令不為函數指令時,分析下一條運行的腳本指令,重複執行分析和鎖定的步驟,直至分析完所有所述操作事件運行的腳本指令,從分析的腳本指令中鎖定所有為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
[0054]在確定鎖定的腳本指令對應的函數時,對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。所述預設類型信息可以是函數的名稱、函數參數或函數的位置信息等。例如,對確定的函數進行解析,以解析出確定的函數對應的函數名稱,或以解析出確定的函數對應的函數參數,或以解析出確定的函數對應函數的位置信息。解析出的預設類型信息包括上述預設類型信息中的一種或者多種組合,本實施例中預設類型信息優選為上述三種預設類型信息的組合,即對確定的函數進行解析,以解析出確定的函數對應的函數名稱、函數參數及函數的位置信息。所述函數的位置信息包括但不限於該函數所在文件的名稱、所在文件的位置及該函數在該文件中的行數。
[0055]本實施例在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
[0056]如圖2所示,為本發明瀏覽器待故障分析的腳本信息的獲取方法的第一實施例的流程示意圖。
[0057]基於上述第一實施例,在步驟S13之後,該方法還包括:
[0058]步驟S14,輸出解析出的預設類型信息。
[0059]具體的,瀏覽器在對確定的函數進行解析,以解析出確定的函數對應的預設類型信息之後,其中,解析出的預設類型信息即為待故障分析的腳本信息,輸出解析出的預設類型信息。所述輸出的方式包括但不限於將解析出的預設類型信息保存至預存目的地址、顯示解析出的預設類型信息或將解析出的預設類型信息發送至預存目的端。所述預存目的地址可以是根據用戶指令預先設置的智能電視的一個存儲區域;所述顯示解析出的預設類型信息的方式可以是文字、圖片或者聲音等;所述預存目的端可以是郵箱地址、微信號碼或微博帳號等。
[0060]所述輸出解析出的預設類型信息的步驟包括:當鎖定的腳本指令為自定義函數指令時,分析是否輸出函數的代碼內容,在需要輸出函數的代碼內容時,輸出函數的代碼內容及解析出的預設類型信息,在不需要輸出函數的代碼內容時,輸出解析出的預設類型信息;當鎖定的腳本指令為瀏覽器本地函數指令時,輸出解析出的預設類型信息。所述預設類型信息為函數的名稱、函數參數及函數的位置信息等。
[0061]在一優選的實施例中,為了進一步的方便開發人員快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度,在輸出解析出的預設類型信息之前,該方法還包括步驟:
[0062]對解析出的預設類型信息進行預設方式的處理,輸出處理後的預設類型信息。所述預設方式的處理包括但不限於對預設類型信息中包括的不必要的信息進行刪除。例如,解析得到函數所在文件的名稱和進入該文件的路徑,如果路徑信息過長且包括一些不必要的信息,則將路徑信息中不必要的信息刪除,得到該函數在所在文件中的具體位置。若所述預設類型信息包括函數的名稱、函數參數及函數的位置信息,則輸出該函數的名稱、函數參數及函數的位置信息。
[0063]具體的,若鎖定的腳本指令為自定義函數指令,則瀏覽器根據運行的腳本指令的上下文信息,在解析後的腳本指令中找出對應的函數關係存儲對象,在該對象中獲取當前鎖定的腳本指令的函數關係表,進而獲取到當前鎖定的腳本指令的預設類型信息,保存函數的輸入參數值,由瀏覽器在解析當前鎖定的腳本指令的預設類型信息中讀取對應的函數名稱,如果存在則直接保存,如果不存在說明該函數可能在腳本文件中屬於回調函數或者直接運行函數,沒有函數名,瀏覽器直接產生默認函數名稱;根據當前鎖定的腳本指令的預設類型信息的解析內容,獲取上下文中該函數所在文件的名稱和路徑信息,如果路徑信息過長並且有一些不必要的參數信息,將路徑信息中不必要的信息刪除,然後計算該函數所在文件中的具體位置信息,最後分析是否需要輸出函數的代碼內容,若需要輸出該函數代碼內容,則根據串口輸出最大的字節數進行循環列印輸出並將所有的函數名稱、函數參數、文件名稱和路徑信息、函數位置信息輸出。例如,自定義的一個腳本文件中的函數為init,瀏覽器輸出的解析後的腳本信息為:函數的名稱為init,函數所在的文件的額路徑信息是:/tclbw/tv/HTMLUI/volume, html,行號開始87行,結束91行,函數內容在code裡面:[JAVASCRIPT]:—function init ,
[0064]file, 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]若鎖定的腳本指令為瀏覽器本地函數指令,則瀏覽器確定實現該函數功能的函數功能代碼,對確定的函 數進行解析,以解析出對應的預設類型信息,保存該函數的輸入參數信息和該函數的名稱,根據該函數解析出的預設類型信息獲取該函數的上下文,確定該函數所在文件的名稱和路徑信息,如果路徑信息過長並且有一些不必要的參數信息,將路徑信息中不必要的信息刪除,然後計算該函數所在文件中的具體位置信息,將解析出的所有瀏覽器本地函數的名稱、函數參數及函數的位置信息輸出。例如,假設當前執行的腳本指令在文件volume, html中,該函數所在的文件的全部路徑是:
[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,在該文件中當前執行的腳本代碼是:
[0068]$("scan_progress_img").style.width=parselnt(volume*690/100)+"px";
[0069]parselnt為瀏覽器系統的本地函數,瀏覽器對預設類型信息解析得出該函數所在的文件是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]經過對路徑優化得到現任路徑/tclbw/tv/volume.html (問號代表連結附加的一些額外數據信息,192.168.0.119地址信息無用,列印信息越多可能導致信息丟失),瀏覽器在對解析後的預設類型信息進行預設方式的處理後,即將路徑信息中的無用信息進行刪除後,確定輸出的腳本信息是:
[0072][JAVASCRIPT]:—function parselnt (value, command)[native], file, line [88],即該 parselnt 函數所在文件 volume, html 在 /tclbw/tv/volume, html 中,該 parselnt 函數在文件 volume, html 的 88 行。
[0073]本實施例通過對解析出的預設類型信息進行預設方式的處理,以更加準確、有效的輸出待故障分析的腳本信息,以使開發人員能直接、有效的找到瀏覽器故障待分析的腳本信息。進一步有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
[0074]如圖3所示,為本發明瀏覽器待故障分析的腳本信息的獲取裝置的第一實施例的功能模塊示意圖。該裝置包括響應模塊10、處理模塊20、數據解析模塊30及分析模塊40,
[0075]所述響應模塊10,用於在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作。[0076]具體的,本實施例中瀏覽器待故障分析的腳本信息的獲取裝置優選為瀏覽器,該瀏覽器進一步地優選為智能電視加載的瀏覽器。當瀏覽器出現故障時,用戶通過網絡登錄到智能電視系統,並向瀏覽器發送一個瀏覽器待故障分析的腳本信息獲取指令。在接收到用戶發出的瀏覽器待故障分析的腳本信息獲取指令時,響應模塊10響應該指令以監控用戶對瀏覽器的操作事件,即,響應模塊10在偵測到用戶重現瀏覽器發生故障的全過程的操作時,監控用戶重現瀏覽器發生故障的全過程的操作,獲取並分析用戶該操作過程中,瀏覽器運行的腳本指令。
[0077]所述處理模塊20,用於在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;
[0078]所述數據解析模塊30,用於對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
[0079]具體的,處理模塊20在監控到所述操作事件時,開始下載在所述操作事件中運行的頁面腳本文件,數據解析模塊30對所述操作事件運行的頁面腳本文件進行詞法解析和語法解析,將頁面腳本文件解析為片段腳本語言字符串,將解析的片段腳本語言字符串生成語言字節信息,即為腳本語言運行的每條指令,即腳本指令。當所述操作事件的腳本指令逐條運行時,分析模塊40逐條分析運行的腳本指令是否為函數指令,當前分析的所述操作事件運行的腳本指令為函數指令時,處理模塊20鎖定該腳本指令;在當前分析的所述操作事件當前運行的腳本指令不為函數指令時,分析模塊40分析下一條所述操作事件運行的腳本指令是否為函數指令,直至分析完所有所述操作事件運行的腳本指令,即分析模塊40逐條分析所述操作事件運行的腳本指令是否為函數指令,處理模塊20在運行的腳本指令為函數指令時,對為函數指令的運行的腳本指令進行鎖定,在運行的腳本指令不為函數指令時,分析模塊40分析下一條運行的腳本指令,重複執行分析和鎖定的過程,直至分析模塊40分析完所有所述操作事件運行的腳本指令,處理模塊20從分析的腳本指令中鎖定所有為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
[0080]在確定鎖定的腳本指令對應的函數時,數據解析模塊30對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。所述預設類型可以是函數的名稱、函數參數或函數的位置信息等。例如,數據解析模塊30對確定的函數進行解析,以解析出確定的函數對應的函數名稱,或以解析出確定的函數對應的函數參數,或以解析出確定的函數對應函數的位置信息。解析出的預設類型信息包括上述預設類型信息中的一種或者多種組合,本實施例中預設類型信息優選為上述三種預設類型信息的組合,即數據解析模塊30對確定的函數進行解析,以解析出確定的函數對應的函數名稱、函數參數及函數的位置信息。所述函數的位置信息包括但不限於該函數所在文件的名稱及該函數在該文件中的行數。
[0081]本實施例在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應模塊10響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作;在監控到所述操作事件時,處理模塊20在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數;數據解析模塊30對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
[0082]如圖4所示,為本發明瀏覽器待故障分析的腳本信息的獲取裝置的第二實施例的功能模塊示意圖。該裝置還包括輸出模塊50,
[0083]所述數據輸出模塊50,用於輸出解析出的預設類型信息。
[0084]具體的,數據解析模塊30在對確定的函數進行解析,以解析出確定的函數對應的預設類型信息之後,其中,解析出的預設類型信息即為待故障分析的腳本信息,輸出模塊50輸出解析出的預設類型信息。所述輸出模塊50輸出預設類型信息的方式包括但不限於將解析出的預設類型信息保存至預存目的地址、顯示解析出的預設類型信息或將解析出的預設類型信息發送至預存目的端。所述預存目的地址可以是根據用戶指令預先設置的智能電視的一個存儲區域;所述顯示解析出的預設類型信息的方式可以是文字、圖片或者聲音等;所述預存目的端可以是郵箱地址、微信號碼或微博帳號等。
[0085]所述輸出模塊50輸出解析出的預設類型信息的過程包括:當鎖定的腳本指令為自定義函數指令時,分析模塊40分析是否輸出函數的代碼內容,在需要輸出函數的代碼內容時,輸出模塊50輸出函數的代碼內容及解析出的預設類型信息,在不需要輸出函數的代碼內容時,輸出模塊50輸出解析出的預設類型信息;當鎖定的腳本指令為瀏覽器本地函數指令時,輸出模塊50輸出解析出的預設類型信息。
[0086]在一優選的實施例中,為了進一步的方便開發人員快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度,在輸出模塊50輸出解析出的預設類型信息之前,處理模塊20對解析出的預設類型信息進行預設方式的處理,輸出模塊50輸出處理後的預設類型信息。所述預設方式的處理包括但不限於對預設類型信息中包括的不必要的信息進行刪除。例如,數據解析模塊30解析得到函數所在文件的名稱和進入該文件的路徑,若路徑信息過長且包括一些不必要的信息,則處理模塊20將路徑信息中不必要的信息刪除,得到該函數在所在文件中的具體位置。若所述預設類型信息包括函數的名稱、函數參數及函數的位置信息,則輸出模塊50輸出該函數的名稱、函數參數及函數的位置信肩、O
[0087]具體的,若鎖定的腳本指令為自定義函數指令,則處理模塊20根據運行的腳本指令的上下文信息,在解析後的腳本指令中找出對應的函數關係存儲對象,在該對象中獲取當前鎖定的腳本指令的函數關係表,進而獲取到當前鎖定的腳本指令的預設類型信息,保存函數的輸入參數值,由處理模塊20在解析當前鎖定的腳本指令的預設類型信息中讀取對應的函數名稱,如果存在則直接保存,如果不存在說明該函數可能在腳本文件中屬於回調函數或者直接運行函數,沒有函數名,處理模塊20直接產生默認函數名稱;數據解析模塊30根據當前鎖定的腳本指令的預設類型信息的解析內容,獲取上下文中該函數所在文件的名稱和路徑信息,若路徑信息過長並且有一些不必要的參數信息,則處理模塊20將路徑信息中不必要的信息刪除,然後計算該函數所在文件中的具體位置信息,最後分析模塊40分析是否需要輸出函數的代碼內容,若需要輸出該函數代碼內容,則輸出模塊50根據串口輸出最大的字節數進行循環列印輸出並將所有的函數名稱、函數參數、文件名稱和路徑信息、函數位置信息輸出。例如,自定義的一個腳本文件中的函數為init,輸出模塊50輸出的數據解析模塊30解析後的腳本信息為:函數的名稱為init,函數所在的文件的額路徑信息是:/tclbw/tv/HTMLUI/volume.html,行號開始87行,結束91行,函數內容在code裡面:[JAVASCRIPT]:—function
[0088]init , f i le, line [87-91],code={volume=top.g_channel.volume;$(〃volume_name〃).1nnerHTML=voIumeName;$(〃scan_progress_img〃)? style.width=parselnt(volume*690/l00)+"px";}。
[0089]若鎖定的腳本指令為瀏覽器本地函數指令,則數據解析模塊30確定實現該函數功能的函數功能代碼,對確定的函數進行解析,以解析出對應的預設類型信息,保存該函數的輸入參數信息和該函數的名稱,根據該函數解析出的預設類型信息獲取該函數的上下文,確定該函數所在文件的名稱和路徑信息,若路徑信息過長並且有一些不必要的參數信息,則處理模塊20將路徑信息中不必要的信息刪除,然後計算該函數所在文件中的具體位置信息,輸出模塊50將解析出的所有瀏覽器本地函數的名稱、函數參數及函數的位置信息輸出。例如,假設當前執行的腳本指令在文件volume, html中,該函數所在的文件的全部路徑是:
[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,在該文件中當前執行的腳本代碼是:
[0091]$("scan_progress_img").style.width=parselnt(volume*690/100)+"px";
[0092]parselnt為瀏覽器系統的本地函數,數據解析模塊30對預設類型信息解析得出該函數所在的文件是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]經過處理模塊20對路徑優化得到現任路徑/tclbw/tv/volume, html (問號代表連結附加的一些額外數據信息,192.168.0.119地址信息無用,列印信息越多可能導致信息丟失),處理模塊20在對解析後的預設類型信息進行預設方式的處理後,即將路徑信息中的無用信息進行刪除後,確定輸出模塊50輸出的輸出的腳本信息是:
[0095][JAVASCRIPT]:—function parselnt (value, command)[native], file, line [88],即該 parselnt 函數所在文件 volume, html 在 /tclbw/tv/volume, html 中,該 parselnt 函數在文件 volume, html 的 88 行。
[0096]本實施例通過處理模塊20對解析出的預設類型信息進行預設方式的處理,以更加準確、有效的輸出待故障分析的腳本信息,以使開發人員能直接、有效的找到瀏覽器故障待分析的腳本信息。進一步有效避免了浪費開發人員業務應用實現的腳本語言進行定位的時間的問題,快速、準確地對出現問題的腳本語言的執行邏輯進行定位,提高解決瀏覽器故障的速度。
[0097]以上所述僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的【技術領域】,均同理包括在本發明的專利保護範圍內。
【權利要求】
1.一種瀏覽器待故障分析的腳本信息的獲取方法,其特徵在於,該方法包括: 在接收到用戶發出的瀏覽器故障腳本信息的獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作; 在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數; 對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
2.根據權利要求1所述的瀏覽器待故障分析的腳本信息的獲取方法,其特徵在於,所述在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數的步驟包括: 在監控到所述操作事件時,對所述操作事件運行的頁面腳本文件進行詞法解析和語法解析,以生成對應的腳本指令; 從生成的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
3.根據權利要求1或2所述的瀏覽器待故障分析的腳本信息的獲取方法,其特徵在於,所述在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數的步驟包括: 逐條分析所述操作事件運行的腳本指令是否為函數指令;` 在當前分析的所述操作事件運行的腳本指令為函數指令時,鎖定該腳本指令; 在當前分析的所述操作事件當前運行的腳本指令不為函數指令時,分析下一條所述操作事件運行的腳本指令是否為函數指令,直至分析完所有所述操作事件運行的腳本指令,並從分析的腳本指令中鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
4.根據權利要求1所述的瀏覽器待故障分析的腳本信息的獲取方法,其特徵在於,所述對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息的步驟之後,該方法還包括: 輸出解析出的預設類型信息。
5.根據權利要求4所述的瀏覽器待故障分析的腳本信息的獲取方法,其特徵在於,所述輸出解析出的預設類型信息的步驟包括: 當鎖定的腳本指令為自定義函數指令時,分析是否輸出函數的代碼內容,在需要輸出函數的代碼內容時,輸出函數的代碼內容及解析出的預設類型信息,在不需要輸出函數的代碼內容時,輸出解析出的預設類型信息; 當鎖定的腳本指令為瀏覽器本地函數指令時,輸出解析出的預設類型信息。
6.一種瀏覽器待故障分析的腳本信息的獲取裝置,其特徵在於,該裝置包括: 響應模塊,用於在接收到用戶發出的瀏覽器故障的腳本信息獲取指令時,響應該指令以監控用戶對瀏覽器的操作事件,其中,所述操作事件為重現瀏覽器發生故障過程的操作; 處理模塊,用於在監控到所述操作事件時,在所述操作事件運行的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數; 數據解析模塊,用於對確定的函數進行解析,以解析出確定的函數對應的預設類型信息,其中,解析出的預設類型信息即為待故障分析的腳本信息。
7.根據權利要求6所述的瀏覽器待故障分析的腳本信息的獲取裝置,其特徵在於, 所述數據解析模塊,還用於在監控到所述操作事件時,對所述操作事件運行的頁面腳本文件進行詞法解析和語法解析,以生成對應的腳本指令; 所述處理模塊,用於從生成的腳本指令中,鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
8.根據權利要求6或7所述的瀏覽器待故障分析的腳本信息的獲取裝置,其特徵在於,該裝置還包括分析模塊, 所述分析模塊,用於逐條分析的所述操作事件運行的腳本指令是否為函數指令;所述處理模塊,用於在當前分析的所述操作事件運行的腳本指令為函數指令時,鎖定該腳本指令; 所述分析模塊,還用於在當前分析的所述操作事件當前運行的腳本指令不為函數指令時,分析下一條所述操作事件運行的腳本指令是否為函數指令,直至分析完所有所述操作事件運行的腳本指令; 所述處理模塊,還用於從分析模塊分析的腳本指令中鎖定為函數指令的腳本指令,並確定鎖定的腳本指令對應的函數。
9.根據權利要求6所述的瀏覽器待故障分析的腳本信息的獲取裝置,其特徵在於,該裝置還包括數據輸出模塊, 所述數據輸出模塊,用於輸出解析出的預設類型信息。
10.根據權利要求9所述`的瀏覽器待故障分析的腳本信息的獲取裝置,其特徵在於, 所述分析模塊,用於當鎖定的腳本指令為自定義函數指令時,分析是否輸出函數的代碼內容; 所述數據輸出模塊,用於在需要輸出函數的代碼內容時,輸出函數的代碼內容及解析出的預設類型信息,在不需要輸出函數的代碼內容時,輸出解析出的預設類型信息;及當鎖定的腳本指令為瀏覽器本地函數指令時,輸出解析出的預設類型信息。
【文檔編號】G06F11/36GK103678134SQ201310719022
【公開日】2014年3月26日 申請日期:2013年12月23日 優先權日:2013年12月23日
【發明者】趙劍萍 申請人:深圳Tcl新技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀