專利名稱::經(jīng)由標記語言的客戶端瀏覽器狀態(tài)的服務器端記錄的方法
技術領域:
:本發(fā)明大體而言涉及關于web服務器及客戶端瀏覽器接口的數(shù)據(jù)追蹤及儲存操作。本發(fā)明更具體言涉及能夠?qū)ψ钥蛻舳藶g覽器獲得的數(shù)據(jù)進行記錄及服務器端存取的操作。
背景技術:
:現(xiàn)今的許多用戶界面為網(wǎng)站,從而需要使用瀏覽器來存取接口內(nèi)容。然而,不同的瀏覽器可能以不同方式向客戶端用戶顯示相同的內(nèi)容。舉例而言,MicrosoftInternetExplorer及MozillaFireFox各自以不同方式實施XMLD0M(文檔對象模型)。另外,經(jīng)由使用諸如JavMcript或AJAX的動態(tài)網(wǎng)頁技術,用戶當前正瀏覽的內(nèi)容可能已從服務器提供的其原始狀態(tài)修改。因此,常常難以精確地判定客戶端正進行的操作及向客戶端顯示內(nèi)容的方式,因為客戶端代碼(clientcode)正在與web服務器不同的系統(tǒng)上執(zhí)行。這樣可使問題判定尤為困難,在試圖理解客戶端上正發(fā)生的錯誤或其它非預期行為時尤其如此。為了在現(xiàn)有系統(tǒng)中提供強健的問題判定解決方案,必須在客戶端計算機上實施瀏覽器端記錄以精確地記錄用戶正查看的內(nèi)容及進行的操作。這樣通常涉及記錄用戶可能已輸入至控制器中的所有值,且追蹤腳本(script)對所顯示內(nèi)容作出的任何改變。當前不存在用于有效地記錄一時間點處的綜合客戶端瀏覽器顯示信息且將此信息傳送回至服務器或另一第三方以用于分析的系統(tǒng)。
發(fā)明內(nèi)容本發(fā)明的一方面包括能夠?qū)崿F(xiàn)對客戶端瀏覽器狀態(tài)的服務器端記錄的增強操作。在一實施例中,通過遍歷且記錄DOM(文檔對象模型)的內(nèi)容,可將客戶端用戶存取的網(wǎng)頁的完整當前狀態(tài)寫入至字符串。這包括鍵入至輸入接口工具集(widget)中的任何數(shù)據(jù),及由腳本對該網(wǎng)頁作出的任何修改。可接著將含有表示該網(wǎng)頁的狀態(tài)的數(shù)據(jù)的這個字符串傳遞至該服務器,且使用標準記錄方法進行記錄。因此,可解析和分析該記錄信息以重新建立該客戶端瀏覽器在記錄時所存在的狀態(tài)。使用本發(fā)明揭示的記錄操作使得內(nèi)容提供者能夠精確地知曉在任何給定時間點處用戶正進行的操作,及正向該用戶顯示的內(nèi)容。因此,所揭示的記錄操作能夠執(zhí)行以下操作對內(nèi)容產(chǎn)生腳本代碼進行除錯;識別特定瀏覽器或瀏覽器版本中發(fā)生的呈現(xiàn)問題;如果某一未經(jīng)驗證的輸入導致非預期行為,確定輸入至網(wǎng)頁中的值;識別“高速緩存”問題,諸如客戶端腳本文件過時且需要刷新(或以禁止高速緩存的內(nèi)容服務)的情況;及總體審計正呈現(xiàn)給該用戶的內(nèi)容。另外,本發(fā)明揭示的實施例使得疑難排解員及支持人員能夠精確地重新建立該用戶所處的情形,而無需存取web服務器或其數(shù)據(jù)庫。在一實施例中,在從web服務器接收到網(wǎng)頁內(nèi)容之后,對于在客戶端計算機系統(tǒng)上操作的瀏覽器執(zhí)行用于執(zhí)行對客戶端瀏覽器狀態(tài)的服務器端記錄的操作。在此網(wǎng)頁內(nèi)容顯示于該瀏覽器中之后,捕獲在該瀏覽器內(nèi)所顯示的該網(wǎng)頁的狀態(tài)。在捕獲之后,將該瀏覽器的操作環(huán)境編制為一字符串。另外,通過遍歷該網(wǎng)頁的每一DOM元素且將每一DOM元素及其相關聯(lián)的數(shù)據(jù)編制為字符串來產(chǎn)生表示該網(wǎng)頁的捕獲狀態(tài)的每一DOM元素的字符串。在另一實施例中,在該瀏覽器內(nèi)所顯示的該網(wǎng)頁的該狀態(tài)包括由用戶提供至輸入字段中的輸入值。接著將元數(shù)據(jù)(metadata)及DOM字符串數(shù)據(jù)發(fā)送至該web服務器。在另一實施例中,在HTTP請求內(nèi)發(fā)送這個字符串。一旦該web服務器已接收到該字符串,則其可接著在必要時處理,諸如,將該元數(shù)據(jù)及DOM信息記錄至可由該web服務器存取的數(shù)據(jù)儲存器中。在其它實施例中,在不同時間或響應于特定事件而捕獲該網(wǎng)頁的該狀態(tài)。舉例而言,網(wǎng)頁捕獲可在以下情況下發(fā)生在網(wǎng)頁內(nèi)容顯示于瀏覽器中之后立即地;響應于由客戶端瀏覽器對腳本的執(zhí)行;響應于從用戶接收到應記錄網(wǎng)頁的狀態(tài)的信號(諸如,經(jīng)由按鈕或菜單驅(qū)動命令(由該用戶發(fā)起));或替代地來自在該網(wǎng)頁內(nèi)執(zhí)行的判定何時捕獲網(wǎng)頁的狀態(tài)的腳本。僅通過示例,參照附圖,現(xiàn)在描述本發(fā)明的實施例,其中圖1說明先前技術中所存在的實例web客戶端/服務器架構(gòu);圖2說明根據(jù)本發(fā)明的一實施例的實施客戶端瀏覽器狀態(tài)的記錄的實例web客戶端/服務器架構(gòu);及圖3說明根據(jù)本發(fā)明的一實施例的用于執(zhí)行客戶端瀏覽器狀態(tài)的服務器端記錄的實例方法的流程圖。具體實施例方式本發(fā)明的一方面涉及客戶端瀏覽器狀態(tài)的記錄,及將此記錄的瀏覽器狀態(tài)數(shù)據(jù)傳輸至web服務器以用于分析及使用以達成問題判定、支持及測試目的。在一實施例中,將該客戶端瀏覽器狀態(tài)捕獲為一字符串,其包含元數(shù)據(jù)及HTML。捕獲于記錄的數(shù)據(jù)內(nèi)的HTML表示“執(zhí)行時間(rim-time)”,其為網(wǎng)頁的動態(tài)產(chǎn)生的HTML而非初始服務于客戶端的“源"HTML。元數(shù)據(jù)可包括諸如瀏覽器名稱、瀏覽器版本、窗口大小及操作系統(tǒng)的數(shù)據(jù)。在將客戶端瀏覽器狀態(tài)及元數(shù)據(jù)捕獲為一字符串之后,將此字符串傳輸至web服務器和/或第三方位置。通過使用所捕獲的瀏覽器狀態(tài)信息,支持小組可精確地再現(xiàn)在瀏覽器狀態(tài)被記錄的時刻用戶所經(jīng)歷的用戶接口狀態(tài)。舉例而言,這可包括網(wǎng)頁輸入字段的用戶鍵入的值,或在瀏覽器內(nèi)動態(tài)地改變的內(nèi)容顯示狀態(tài)。記錄操作可由用戶命令手動地觸發(fā)(諸如,通過“記錄瀏覽器狀態(tài)”按鈕),或可以以定義于腳本中的預定時間間隔而觸發(fā)。在另一實施例中,在客戶端瀏覽器狀態(tài)的捕獲期間,可施加條件以防止對客戶端網(wǎng)頁上的敏感數(shù)據(jù)(諸如,用戶鍵入的密碼字段)的記錄。先前技術中的標準記錄實踐不能容易地記錄客戶端及其瀏覽器的綜合狀態(tài),在試圖監(jiān)視以不同方式呈現(xiàn)給眾多類型的瀏覽器及瀏覽器平臺的網(wǎng)頁的顯示時尤其如此。本發(fā)明的優(yōu)點之一為,可針對服務器端狀態(tài)數(shù)據(jù)及客戶端狀態(tài)數(shù)據(jù)兩者來部署和/或協(xié)調(diào)記錄及問題判定。此外,本發(fā)明的實施例允許捕獲精確呈現(xiàn)的HTML,而不管內(nèi)容是在服務器端產(chǎn)生還是在客戶端產(chǎn)生。另外,在本發(fā)明的一實施例中,管理者能夠分析用戶已鍵入至網(wǎng)頁的輸入接口工具集(widget)中的數(shù)據(jù)的記錄,即使此數(shù)據(jù)尚未提交給服務器。不同于使用屏幕捕獲的現(xiàn)有系統(tǒng),此實施例不儲存像素數(shù)據(jù)。相反,將標記儲存為文本,其節(jié)省空間且更有助于檢查??梢韵胂螅踔量舍槍λ鶊?zhí)行的每一用戶動作而捕獲標記“屏幕截圖”。因為腳本系統(tǒng)可被配置為以規(guī)則時間間隔保存網(wǎng)頁的狀態(tài),所以這樣將能夠使用客戶端的“類似視頻(Video-like)”播放,與節(jié)省實際視頻數(shù)據(jù)相比,其顯著減小了開銷。通過在網(wǎng)頁呈現(xiàn)于客戶端上時捕獲顯示,本發(fā)明的各種實施例可在利用基本W(wǎng)eb瀏覽活動的多種客戶端平臺上執(zhí)行。除了在電話、行動器件及攜帶型電子計算器件上操作的其它瀏覽器之外,這還包括在桌上型計算機上操作的常用瀏覽器。因此,無論客戶端瀏覽器為Firefox、InternetExplorer>Safari、GoogleChrome等中的哪一個,可同樣地執(zhí)行數(shù)據(jù)的記錄及從客戶端收集數(shù)據(jù)。如通過圖1中的先前技術中存在的實例web服務器架構(gòu)所述,動態(tài)web應用通常如下而結(jié)構(gòu)化。當瀏覽器Iio的URL指向服務器120時,其形成初始請求130,服務器120在請求處理例程121中處理該初始請求130。從web服務器的應用邏輯122及響應產(chǎn)生器123產(chǎn)生的服務器的回應131構(gòu)成網(wǎng)頁的初始加載。該響應通常采用提供HTML網(wǎng)頁供顯示113的形式,但理論上該響應可提供由文檔對象模型(DOM)表示的任何類型的文件。一旦加載網(wǎng)頁,則瀏覽器110開始執(zhí)行與該網(wǎng)頁相關聯(lián)的任何腳本111。這些腳本可執(zhí)行許多任務,諸如,動畫顯示網(wǎng)頁的內(nèi)容、監(jiān)視且響應用戶輸入,或向服務器額外請求更多數(shù)據(jù)。在后種情況下,腳本可形成發(fā)送至服務器的請求,該請求經(jīng)處理,且經(jīng)由回調(diào)函數(shù)(callbackfunction)將動態(tài)響應132直接發(fā)送回至網(wǎng)頁的腳本。這些動作中的任一個可導致腳本111更新DOM112。另外,用戶輸入114也修改該D0M。因此,通過典型的客戶端/web服務器配置,不存在明顯的方式來使服務器知曉在給定時間所呈現(xiàn)的網(wǎng)頁的精確狀態(tài)。在服務器端上可容易地捕獲于記錄數(shù)據(jù)儲存器140中的唯一數(shù)據(jù)將為經(jīng)由服務器120所傳達的數(shù)據(jù)請求或響應。圖2說明根據(jù)本發(fā)明的一實施例的實施客戶端瀏覽器狀態(tài)的服務器端記錄的類似web客戶端/服務器架構(gòu)。以下操作提供捕獲客戶端數(shù)據(jù)且將該客戶端數(shù)據(jù)傳輸至服務器以供記錄于服務器端上的方法的一實例。首先,于客戶端瀏覽器110內(nèi)開始記錄操作,以捕獲所顯示的網(wǎng)頁D0M??梢砸栽S多方式開始該記錄操作,諸如,通過使瀏覽器使用應記錄顯示狀態(tài)的信號???例如)通過點擊瀏覽器Iio內(nèi)的按鈕來執(zhí)行此信號?;蛘?,可基于預定時間間隔或謂詞(predicate)通過在網(wǎng)頁內(nèi)執(zhí)行的腳本111來觸發(fā)該記錄,該腳本111判定應記錄網(wǎng)頁的狀態(tài)。另外,作為捕獲客戶端瀏覽器的狀態(tài)的部分,腳本系統(tǒng)111還判定與網(wǎng)頁的顯示相關的元信息,諸如當前瀏覽器版本、屏幕分辨率、操作系統(tǒng)版本及其類似者。此元數(shù)據(jù)信息經(jīng)捕獲且以一字符串表示。接下來,腳本系統(tǒng)111訪問網(wǎng)頁的每一DOM元素。對于DOM112內(nèi)的每一元素,將HTML寫入至表示該元素的一字符串。舉例而言,若在DOM內(nèi)遇到表元素,則寫入〈table〉標簽。還將每一元素中含有的數(shù)據(jù)寫入至該字符串。在其它實施例中,若認為元素為“敏感的”(諸如,密碼字段),則將不讀取該字段以防止記錄敏感數(shù)據(jù)。如操作201中所展示,接著經(jīng)由一請求將含有元數(shù)據(jù)信息與瀏覽器DOMHTML的組合的字符串發(fā)送至服務器,該請求指示瀏覽器狀態(tài)保存。在操作203中,在于服務器處的請求處理例程121內(nèi)處理該請求之后,元數(shù)據(jù)記錄函數(shù)202內(nèi)的邏輯進一步處理保存有客戶端狀態(tài)的元數(shù)據(jù)及HTML,以供儲存于記錄數(shù)據(jù)儲存器140內(nèi)。隨后,可存取服務器的記錄數(shù)據(jù)儲存器140的任何用戶可開啟所保存的數(shù)據(jù),且通過使用元數(shù)據(jù)內(nèi)指示的瀏覽器版本,該用戶可精確地瀏覽在狀態(tài)保存時用戶正瀏覽的內(nèi)容。本領域技術人員將認識到,在本發(fā)明的范圍內(nèi)的瀏覽器狀態(tài)記錄及數(shù)據(jù)收集技術可在許多服務器端環(huán)境內(nèi)實現(xiàn),諸如,圖2中描繪的簡單web服務器,或可與先進數(shù)據(jù)儲存、提取及分析技術的大型組合加以組合。特定而言,可實現(xiàn)記錄操作以產(chǎn)生儲存于所管理的儲存環(huán)境內(nèi)的數(shù)據(jù),該儲存環(huán)境諸如儲存局域網(wǎng)絡(SAN)、網(wǎng)絡附加儲存(NAQ器件、備份設施及設備及其它儲存資源。另外,可在自動化測試環(huán)境、管理器或其它虛擬環(huán)境的操作中選擇、啟動、重新建立及利用從客戶端瀏覽器收集的數(shù)據(jù)。舉例而言,可在遠程虛擬機客戶端內(nèi)提取并重新建構(gòu)該記錄,以在虛擬設置內(nèi)提供對客戶端的瀏覽器經(jīng)歷的實際模擬。接著為兩個非限制性實例,其示范額外的應用及對先前描述的記錄操作的使用。作為第一實例,可在服務來自web服務器的PHP或JSP網(wǎng)頁之后立即執(zhí)行瀏覽器狀態(tài)記錄操作。這將允許對客戶端接收的服務器產(chǎn)生HTML的精確分析,且使得能夠驗證服務器端邏輯及腳本正以指定方式操作。作為第二實例,可在已觸發(fā)JavMcript事件或已執(zhí)行某一特定JavMcript程序代碼之后執(zhí)行瀏覽器狀態(tài)記錄操作。在事件發(fā)生之后觸發(fā)記錄操作的原因是為了獲得當前選定的無線電按鈕的準確快照,形成值,及其類似者。在網(wǎng)頁輸入中的任一個正引起錯誤或非預期行為的情況下,這將輔助故障排除。圖3說明根據(jù)本發(fā)明的一實施例的用于執(zhí)行經(jīng)由標記語言的客戶端瀏覽器狀態(tài)的服務器端記錄的實例操作的流程圖。首先,如步驟301中,開始記錄操作。該記錄操作可由用戶手動地開始、可以在某一確定時間周期自動地開始,或響應于諸如腳本中的預定邏輯的執(zhí)行而開始。接下來,如在步驟302中,腳本系統(tǒng)判定關于網(wǎng)頁及客戶端顯示環(huán)境的相關元數(shù)據(jù)信息,諸如,當前瀏覽器、屏幕分辨率及操作系統(tǒng)。編制此信息,且以文本格式儲存。接下來,如在步驟303中,腳本系統(tǒng)遍歷所顯示網(wǎng)頁的每一DOM元素。如在步驟304中,對于每一DOM元素,將HTML編制為表示該元素及其數(shù)據(jù)的字符串。舉例而言,若遇到表元素,則寫入〈table〉標簽,且將含有該元素的文本或任何其它數(shù)據(jù)寫入至該字符串。也可定義規(guī)則以排除來自諸如密碼字段的元素的數(shù)據(jù)收集。如在步驟305中,經(jīng)由HTTP請求將表示瀏覽器狀態(tài)的字符串(其含有客戶端顯示環(huán)境元數(shù)據(jù)信息)及經(jīng)編制的字符串(其含有HTML形式的網(wǎng)頁DOM的表示)傳輸至服務器。如在步驟306中,服務器經(jīng)由針對數(shù)據(jù)而配置的任何儲存方法來將保存有狀態(tài)的元數(shù)據(jù)及HTML字符串記錄至其經(jīng)配置的數(shù)據(jù)儲存器(datastore)中。最后,如在步驟307中,可存取該元數(shù)據(jù)及HTML字符串以用于進一步分析。舉例而言,可部署由元數(shù)據(jù)指示的瀏覽器以精確地瀏覽在狀態(tài)保存時用戶正瀏覽的內(nèi)容??蓤?zhí)行適當?shù)姆治?、測試和/或發(fā)展變化以補救非預期或無意的網(wǎng)頁行為。如本領域技術人員將了解,本發(fā)明可體現(xiàn)為一系統(tǒng)、方法或計算機程序產(chǎn)品。相應地,本發(fā)明可采用完全硬件實施例、完全軟件實施例(包括固體、常駐軟件、微碼等)或組合軟件與硬體方面的實施例的形式,這些實施例在本文中都可通稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明可采用體現(xiàn)于任何有形表現(xiàn)媒體中的計算機程序產(chǎn)品的形式,該有形表現(xiàn)媒體具有體現(xiàn)于該媒體中的計算機可用程序代碼??衫靡粋€或多個計算機可用或計算機可讀媒體的任何組合。舉例而言,計算機可用或計算機可讀媒體可為(但不限于)電子、磁性、光學、電磁、紅外線或半導體系統(tǒng)、裝置、器件或傳播媒體。計算機可讀媒體的更特定實例(非窮盡列表)將包括以下各項具有一個或多個導線的電連接件、攜帶型計算機盤片、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPR0M或閃存)、光纖、攜帶型緊密光盤只讀存儲器(CDROM)、光學儲存器件、傳輸媒體(諸如,支持因特網(wǎng)或內(nèi)部網(wǎng)絡的傳輸媒體),或磁性儲存器件。應注意,計算機可用或計算機可讀媒體甚至可為程序被印刷于上面的紙張或另一合適媒體,因為該程序可經(jīng)由(例如)對紙張或其它媒體的光學掃描來以電子方式捕獲,接著經(jīng)編制、解譯或以合適方式另外處理(若必要),且接著儲存于計算機存儲器中。在此文件的背景下,計算機可用或計算機可讀媒體可為可含有、儲存、傳達、傳播或傳送由指令執(zhí)行系統(tǒng)、裝置或器件使用或與之結(jié)合而使用的程序的任何媒體。計算機可用媒體可包括在基頻中或作為載波的部分的其中體現(xiàn)有計算機可用程序代碼的傳播數(shù)據(jù)信號??墒褂萌魏芜m當?shù)拿襟w(包括,但不限于,無線、有線線路、光纖電纜、RF等)來傳輸計算機可用程序代碼。可以一種或多種程序設計語言的任何組合撰寫用于執(zhí)行本發(fā)明的操作的計算機程序碼,該一種或多種編程語言諸如Java、Smalltalk、C++或其類似者的面向?qū)ο蟪绦蛟O計語言及諸如“C”程序設計語言的公知編程程序設計語言,或類似編程語言。程序代碼可完全在用戶的計算機上執(zhí)行、部分地在用戶的計算機上執(zhí)行、作為獨立軟件包執(zhí)行,部分地在用戶的計算機上執(zhí)行且部分地在遠程計算機上執(zhí)行,或完全在遠程計算機或服務器上執(zhí)行。在后一種情形中,遠程計算機可經(jīng)由任何類型的網(wǎng)絡(包括局域網(wǎng)絡(LAN)或廣域網(wǎng)絡(WAN))連接至用戶的計算機,或可(例如,使用因特網(wǎng)服務提供者,經(jīng)由因特網(wǎng))連接至外部計算機。雖然上文已通過某種程度的特殊性來描述本發(fā)明的各種代表性實施例,但本領域技術人員可在不脫離在本說明書及權利要求書中闡述的發(fā)明性標的物的精神或范圍的情況下對所揭示的實施例進行許多變更。權利要求1.一種用于執(zhí)行客戶端瀏覽器狀態(tài)的服務器端記錄的方法,其包含在客戶端計算機系統(tǒng)上操作的瀏覽器內(nèi),從web服務器接收網(wǎng)頁內(nèi)容;將該網(wǎng)頁內(nèi)容顯示于該瀏覽器中;捕獲在該瀏覽器內(nèi)所顯示的該網(wǎng)頁的狀態(tài);編制表示該瀏覽器的操作環(huán)境的元數(shù)據(jù)的字符串;遍歷該網(wǎng)頁的所捕獲狀態(tài)的每一文檔對象模型(DOM)元素;編制表示該網(wǎng)頁的所捕獲狀態(tài)內(nèi)的每一DOM元素及其相關聯(lián)的數(shù)據(jù)的字符串;將該元數(shù)據(jù)及該DOM字符串發(fā)送至該web服務器;及將該元數(shù)據(jù)及該DOM字符串記錄于可由該web服務器存取的數(shù)據(jù)儲存器內(nèi)。2.如權利要求1的方法,其中響應于網(wǎng)頁內(nèi)容正顯示于該瀏覽器中而捕獲該網(wǎng)頁的狀態(tài)。3.如權利要求1的方法,其中響應于由該客戶端瀏覽器對腳本的執(zhí)行而捕獲該網(wǎng)頁的狀態(tài)。4.如權利要求1的方法,其中響應于從用戶接收到應記錄該網(wǎng)頁的該狀態(tài)的信號而捕獲該網(wǎng)頁的狀態(tài)。5.如任意先前權利要求的方法,其中在該網(wǎng)頁內(nèi)執(zhí)行的腳本判定何時捕獲該網(wǎng)頁的狀態(tài)。6.如任意先前權利要求的方法,其中在該瀏覽器內(nèi)所顯示的網(wǎng)頁的狀態(tài)包括由用戶提供的輸入值。7.如任意先前權利要求的方法,其中在HTTP請求內(nèi)將該元數(shù)據(jù)及該DOM字符串發(fā)送至該web服務器。8.一種數(shù)據(jù)處理系統(tǒng),其包含至少一個處理器;及至少一個存儲器,其儲存可通過所述至少一個處理器操作以用于執(zhí)行客戶端瀏覽器狀態(tài)的服務器端記錄的指令,所述指令經(jīng)執(zhí)行以用于在客戶端計算機系統(tǒng)上操作的瀏覽器內(nèi),從web服務器接收網(wǎng)頁內(nèi)容;將該網(wǎng)頁內(nèi)容顯示于該瀏覽器中;捕獲在該瀏覽器內(nèi)所顯示的該網(wǎng)頁的狀態(tài);編制表示該瀏覽器的操作環(huán)境的元數(shù)據(jù)的字符串;遍歷該網(wǎng)頁的所捕獲狀態(tài)的每一文檔對象模型(DOM)元素;編制表示該網(wǎng)頁的所捕獲狀態(tài)內(nèi)的每一DOM元素及其相關聯(lián)的數(shù)據(jù)的字符串;將該元數(shù)據(jù)及該DOM字符串發(fā)送至該web服務器;及將該元數(shù)據(jù)及該DOM字符串記錄于可由該web服務器存取的數(shù)據(jù)儲存器內(nèi)。9.如權利要求8的系統(tǒng),其中響應于網(wǎng)頁內(nèi)容正顯示于該瀏覽器中而捕獲該網(wǎng)頁的狀態(tài)。10.如權利要求8的系統(tǒng),其中響應于由該客戶端瀏覽器對腳本的執(zhí)行而捕獲該網(wǎng)頁的狀態(tài)。11.如權利要求8的系統(tǒng),其中響應于從用戶接收到應記錄該網(wǎng)頁的該狀態(tài)的信號而捕獲該網(wǎng)頁的狀態(tài)。12.如權利要求8至11中任一項的系統(tǒng),其中在該網(wǎng)頁內(nèi)執(zhí)行的腳本判定何時捕獲該網(wǎng)頁的狀態(tài)。13.如權利要求8至12中任一項的系統(tǒng),其中在該瀏覽器內(nèi)所顯示的該網(wǎng)頁的該狀態(tài)包括由用戶提供的輸入值。14.如權利要求8至13中任一項的系統(tǒng),其中在HTTP請求內(nèi)將該元數(shù)據(jù)及該DOM字符串發(fā)送至該web服務器。15.一種計算機程序產(chǎn)品,其包含具有計算機可讀程序的計算機可用媒體,該計算機可讀程序用于執(zhí)行客戶端瀏覽器狀態(tài)的服務器端記錄,其中該計算機可讀程序在于計算機上執(zhí)行時引起該計算機進行以下操作在客戶端計算機系統(tǒng)上操作的瀏覽器內(nèi),從web服務器接收網(wǎng)頁內(nèi)容;將該網(wǎng)頁內(nèi)容顯示于該瀏覽器中;捕獲在該瀏覽器內(nèi)所顯示的該網(wǎng)頁的狀態(tài);編制表示該瀏覽器的操作環(huán)境的元數(shù)據(jù)的字符串;遍歷該網(wǎng)頁的所捕獲狀態(tài)的每一文檔對象模型(DOM)元素;編制表示該網(wǎng)頁的該所捕獲狀態(tài)內(nèi)的每一DOM元素及其相關聯(lián)的數(shù)據(jù)的字符串;將該元數(shù)據(jù)及該DOM字符串發(fā)送至該web服務器;及將該元數(shù)據(jù)及該DOM字符串記錄于可由該web服務器存取的數(shù)據(jù)儲存器內(nèi)。16.如權利要求15的計算機程序,其中響應于網(wǎng)頁內(nèi)容正顯示于該瀏覽器中而捕獲該網(wǎng)頁的狀態(tài)。17.如權利要求15的計算機程序,其中響應于由該客戶端瀏覽器對腳本的執(zhí)行而捕獲該網(wǎng)頁的狀態(tài)。18.如權利要求15的計算機程序,其中響應于從用戶接收到應記錄該網(wǎng)頁的該狀態(tài)的信號而捕獲該網(wǎng)頁的狀態(tài)。19.如權利要求15至18中任一項的計算機程序,其中在該網(wǎng)頁內(nèi)執(zhí)行的腳本判定何時捕獲該網(wǎng)頁的狀態(tài)。20.如權利要求15至19中任一項的計算機程序,其中在該瀏覽器內(nèi)所顯示的網(wǎng)頁的狀態(tài)包括由用戶提供的輸入值。21.如權利要求15至20中任一項的計算機程序,其中在HTTP請求內(nèi)將該元數(shù)據(jù)及該DOM字符串發(fā)送至該web服務器。22.—種計算機程序,包括當所述程序運行于計算機上時適用于執(zhí)行權利要求1至7中所有步驟的程序代碼部件。全文摘要本發(fā)明的一方面包括捕獲客戶端瀏覽器狀態(tài)且在標記文本內(nèi)傳達這樣所捕獲的瀏覽器狀態(tài)以用于在web服務器處記錄。在一實施例中,遍歷由客戶端存取的網(wǎng)頁的DOM(文檔對象模型)的內(nèi)容,且以字符串形式(諸如HTML)將所述內(nèi)容寫為標記文字。除特定地用以識別瀏覽器顯示環(huán)境的元數(shù)據(jù)之外,還將此標記作為在HTTP請求內(nèi)的文本從該客戶端傳輸至該服務器。該服務器可接著記錄該標記文本及該元數(shù)據(jù)以供稍后存取。該記錄的標記文本及該元數(shù)據(jù)可用以重新建立在該客戶端瀏覽器內(nèi)發(fā)生的精確顯示,且因此提供對網(wǎng)頁問題判定、測試及開發(fā)有用的細節(jié)。文檔編號G06F17/30GK102272757SQ200980153164公開日2011年12月7日申請日期2009年12月7日優(yōu)先權日2009年1月8日發(fā)明者B·J·蘭德爾,J·A·史蒂文斯,J·R·普拉瑟,S·M·科恩申請人:國際商業(yè)機器公司