客戶機(jī)側(cè)最小下載和模擬的頁面導(dǎo)航特征的制作方法
【專利摘要】提供了利用最小下載和模擬頁面導(dǎo)航特征的客戶機(jī)計算體系結(jié)構(gòu)??蛻魴C(jī)計算機(jī)可響應(yīng)于對電子頁面的導(dǎo)航請求來接收包括增量數(shù)據(jù)的有效載荷。該客戶機(jī)計算機(jī)還可解析該電子頁面的增量數(shù)據(jù),基于接收到的增量數(shù)據(jù)來更新該電子頁面的頁面內(nèi)容,確定一個或多個差錯是否與該電子頁面的頁面加載過程相關(guān)聯(lián),管理統(tǒng)一資源定位符(URL)的片段標(biāo)識符部分以在該電子頁面的導(dǎo)航中跟蹤當(dāng)前位置,并截取一個或多個導(dǎo)航點擊事件以確保最小下載策略導(dǎo)航。
【專利說明】客戶機(jī)側(cè)最小下載和模擬的頁面導(dǎo)航特征
[0001] 背景
[0002] 計算時代已顯著影響了消費(fèi)者知識庫,這進(jìn)而要求設(shè)備和應(yīng)用提供者提供用戶友 好且豐富的應(yīng)用功能。協(xié)作或內(nèi)容管理系統(tǒng)提供自然地點來共享思想和信息,部分地是由 于為多個用戶提供的訪問和管理能力,豐富的定制選項,以及輕量協(xié)作環(huán)境。然而,一般問 題涉及在網(wǎng)頁導(dǎo)航操作期間減少從服務(wù)器計算機(jī)發(fā)送到客戶機(jī)計算機(jī)的數(shù)據(jù)量。一種解決 方案利用傳統(tǒng)網(wǎng)頁導(dǎo)航并且采用數(shù)據(jù)壓縮。與該解決方案相關(guān)聯(lián)的缺點在于數(shù)據(jù)壓縮不能 提供足夠的幫助。即,盡管事實上經(jīng)由網(wǎng)絡(luò)從服務(wù)器計算機(jī)發(fā)送到客戶機(jī)計算機(jī)的數(shù)據(jù)被 壓縮(且因此較?。?,但客戶機(jī)計算機(jī)執(zhí)行傳統(tǒng)網(wǎng)頁導(dǎo)航所花費(fèi)的時間仍非常多。另一種解 決方案利用非導(dǎo)航操作(即"AJAX"),并且要求客戶機(jī)計算機(jī)請求特定數(shù)據(jù)改變。與該解 決方案相關(guān)聯(lián)的缺點包括:a)要求對網(wǎng)頁的完整重寫,b)頁面的每一單獨部分可分開地更 新,這可能是非常昂貴且低效的,以及c)頁面的改變在瀏覽器歷史中不被記錄,導(dǎo)致前進(jìn) 和后退按鈕或其他導(dǎo)航特征不像所期望的那樣操作。
[0003] 概述
[0004] 提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概 念。本概述并不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確 定所要求保護(hù)的主題的范圍。
[0005] 提供了利用最小下載和模擬頁面導(dǎo)航特征的客戶機(jī)計算體系結(jié)構(gòu)??蛻魴C(jī)計算機(jī) 可響應(yīng)于對電子頁面的導(dǎo)航請求來接收包括增量數(shù)據(jù)的有效載荷。該客戶機(jī)計算機(jī)還可解 析該電子頁面的增量數(shù)據(jù),基于接收到的增量數(shù)據(jù)來更新該電子頁面的頁面內(nèi)容,確定一 個或多個差錯是否與該電子頁面的頁面加載過程相關(guān)聯(lián),管理統(tǒng)一資源定位符(URL)的片 段標(biāo)識符部分以在該電子頁面的導(dǎo)航中跟蹤當(dāng)前位置,以及截取一個或多個導(dǎo)航點擊事件 以確保最小下載策略導(dǎo)航。
[0006] 通過閱讀下面的詳細(xì)描述并參考相關(guān)聯(lián)的附圖,這些及其他特點和優(yōu)點將變得顯 而易見??梢岳斫猓笆鲆话忝枋龊鸵韵略敿?xì)描述均僅是說明性的,且不限制所要求保護(hù)的 本發(fā)明。
【專利附圖】
【附圖說明】
[0007] 圖1是根據(jù)一實施例的示例性計算環(huán)境的框圖;
[0008] 圖2是解說根據(jù)一實施例的示例性客戶機(jī)最小下載特征的框圖;
[0009] 圖3是解說根據(jù)一實施例的用于在最小下載過程期間更新電子頁面的示例性增 量數(shù)據(jù)的框圖;
[0010] 圖4是解說根據(jù)一實施例的示例性電子頁面的框圖;
[0011] 圖5是解說根據(jù)一實施例的示例性客戶機(jī)最小下載過程的流程圖;
[0012] 圖6是解說根據(jù)一實施例的用于在客戶機(jī)最小下載過程期間更新電子頁面內(nèi)容 的示例性過程的流程圖;以及
[0013] 圖7是解說用于實現(xiàn)本文描述的各個實施例的示例性計算設(shè)備的框圖。
【具體實施方式】
[0014] 提供了利用最小下載和模擬頁面導(dǎo)航特征的客戶機(jī)計算體系結(jié)構(gòu)??蛻魴C(jī)計算機(jī) 可響應(yīng)于對電子頁面的導(dǎo)航請求來接收包括增量數(shù)據(jù)的有效載荷。應(yīng)當(dāng)理解,根據(jù)本文描 述的各實施例,"增量數(shù)據(jù)"被定義為電子頁面的增量頁面呈現(xiàn)信息。該客戶機(jī)計算機(jī)還可 解析該電子頁面的增量數(shù)據(jù),基于接收到的增量數(shù)據(jù)來更新該電子頁面的頁面內(nèi)容,確定 一個或多個差錯是否與該電子頁面的頁面加載過程相關(guān)聯(lián),管理統(tǒng)一資源定位符(URL)的 片段標(biāo)識符部分以在該電子頁面的導(dǎo)航中跟蹤當(dāng)前位置,以及截取一個或多個導(dǎo)航點擊事 件以確保最小下載策略導(dǎo)航。
[0015] 圖1是根據(jù)一實施例的示例性計算環(huán)境100的框圖。計算環(huán)境100可包括提供電 子頁面導(dǎo)航特征和功能的處理組件、存儲器組件、聯(lián)網(wǎng)組件和/或其它組件,包括服務(wù)器最 小下載和針對所請求的電子頁面的差錯故障轉(zhuǎn)移。如圖1所示,示例性計算環(huán)境100包括被 用作實現(xiàn)頁面導(dǎo)航機(jī)制或過程的一部分的至少一個服務(wù)器系統(tǒng)或服務(wù)器102以及至少一 個客戶機(jī)104,但不限于此。本領(lǐng)域技術(shù)人員將認(rèn)識到,多個客戶機(jī)設(shè)備/系統(tǒng)可被配置成 使用可用的無線和/或有線基礎(chǔ)結(jié)構(gòu)和功能,來與多個服務(wù)器和/或其他組件進(jìn)行通信和 /交互。例如,用戶可使用客戶機(jī)104作為與計算設(shè)備或系統(tǒng)進(jìn)行交互的一部分,來訪問并 使用多個協(xié)作、web、文件、和/或其他服務(wù)器的信息和資源,作為瀏覽電子頁面或網(wǎng)頁的一 部分??梢岳斫猓诘湫徒换ナ綍捚陂g,用戶可使用客戶機(jī)104從多個物理服務(wù)機(jī)器(例 如,web服務(wù)器、協(xié)作服務(wù)器、數(shù)據(jù)庫服務(wù)器等)中調(diào)用并訪問服務(wù)器信息和/或服務(wù)。
[0016] 客戶機(jī)104包括最小下載特征106,電子(web)頁面108和瀏覽器110。如下文將 描述的,最小下載特征106可被用作最小下載電子頁面導(dǎo)航的一部分來解析并過濾由服務(wù) 器102發(fā)送的用于更新電子頁面108的"增量"有效載荷。根據(jù)上述技術(shù),客戶機(jī)知道電子 頁面的確切狀態(tài),并且可以將該"增量"中的數(shù)據(jù)集過濾至僅僅那些已改變和/或必須更新 的部分。
[0017] 可以理解,可以包括作為提供頁面導(dǎo)航特征和功能的一部分、與環(huán)境100的一個 或多個組件進(jìn)行耦合、通信、和/或交互的其他用戶設(shè)備/系統(tǒng)。每一服務(wù)器可包括一個或 多個物理服務(wù)機(jī)器,包括位于同處、位于遠(yuǎn)程、和/或分布式體系結(jié)構(gòu)。終端用戶可使用不 同的交互式應(yīng)用,包括瀏覽器類型的應(yīng)用(諸如與智能電話、膝上型計算機(jī)、平板計算機(jī)、 臺式計算機(jī)、和/或其他計算機(jī)/通信接口一起使用的那些應(yīng)用),用于訪問環(huán)境1〇〇的 特征。例如,企業(yè)用戶可使用瀏覽器或其他應(yīng)用來創(chuàng)建和/或訪問使用瀏覽器類型界面的 SHAREP0INT工作站。在一個實施例中,用戶可使用瀏覽器應(yīng)用或界面來利用示例性計算環(huán) 境100的特征和功能,包括現(xiàn)有和/或未來的標(biāo)準(zhǔn)、跨瀏覽器兼容的標(biāo)記等。
[0018] 圖2是解說根據(jù)一實施例的示例性最小下載組件特征106的框圖。最小下載特征 106可包括了解析組件202、更新器組件204、截取組件206、差錯組件208、散列管理器組件、 有效載荷212 (其包括增量數(shù)據(jù)214)、事件216、導(dǎo)航點擊事件218以及基線電子頁面220。
[0019] 根據(jù)一實施例,客戶機(jī)104可利用解析組件202來解析電子頁面的增量數(shù)據(jù)214。 更新器組件204可被用來基于接收到的增量數(shù)據(jù)214來更新電子頁面的頁面內(nèi)容。截取組 件206可被用來截取一個或多個導(dǎo)航點擊事件218以確保到電子頁面的最小下載策略導(dǎo) 航。差錯組件208可被用來確定一個或多個差錯是否與電子頁面的頁面下載過程相關(guān)聯(lián), 并且基于任何所確定的差錯采取動作。上述動作可包括但不限于,重新加載與對其接收到 導(dǎo)航請求的電子頁面相關(guān)聯(lián)的基線電子頁面220,以及響應(yīng)于導(dǎo)航請求,將該導(dǎo)航請求重定 向到基線電子頁面220。如此處定義的,基線電子頁面(也被稱為靜態(tài)基線頁面)包括沒有 任何頁面內(nèi)容的電子頁面,其表示由網(wǎng)站中的多個電子頁面共享的常見用戶界面元素的快 照。散列管理器組件210可被用來管理統(tǒng)一資源定位符(URL)的片段標(biāo)識符(即,"散列") 部分,以在電子頁面的導(dǎo)航中跟蹤當(dāng)前位置。事件216可包括由更新器組件204激發(fā)的卸 載事件,使得先前電子頁面(即,客戶機(jī)上當(dāng)前導(dǎo)航到的電子網(wǎng)頁之前的電子頁面)上的控 件可按需對其進(jìn)行處理。
[0020] 圖3是解說根據(jù)一實施例的用于在最小下載過程期間更新電子頁面的示例性增 量數(shù)據(jù)216的框圖。增量數(shù)據(jù)216可包括但不限于,已更新標(biāo)記302、新樣式塊314、內(nèi)聯(lián)腳 本塊306、新樣式表鏈接308、新腳本文件引用310、隱藏輸入字段312、表單動作數(shù)據(jù)314、專 門頭部標(biāo)記316、頁面標(biāo)題(即,電子頁面標(biāo)題)318以及數(shù)組聲明320。
[0021] 圖4是解說根據(jù)一實施例的示例性電子頁面108的框圖。電子頁面108可包括但 不限于,標(biāo)記和文本402、腳本文件404、樣式表406、輸入元素408 (即,來自電子頁面中的 表單的輸入元素)、腳本文件對象410、樣式表鏈接412、腳本超時414以及統(tǒng)一資源定位符 ("URL")416。URL416可包括片段標(biāo)識符(散列)418,其作為URL416的一部分。電子頁 面108還可包括(但不限于)腳本間隔420、事件處理器422、全局腳本表面424以及樣式 塊 426。
[0022] 圖5是解說根據(jù)一實施例的示例性客戶機(jī)最小下載過程500的流程圖。在505, 在客戶機(jī)計算機(jī)(即,客戶機(jī))響應(yīng)于對電子頁面的請求,從服務(wù)器接收增量數(shù)據(jù)時,過程 500開始。具體而言,客戶機(jī)可以響應(yīng)于通過將URL輸入到web瀏覽器所作出的導(dǎo)航請求, 從服務(wù)器接收包括增量數(shù)據(jù)的有效載荷。
[0023] 在510,客戶機(jī)解析電子頁面的增量數(shù)據(jù)。如以上討論的,客戶機(jī)可以解析并過濾 有效載荷中服務(wù)器所發(fā)送的增量數(shù)據(jù)。客戶機(jī)可被配置成確定電子頁面的確切狀態(tài),并且 將增量數(shù)據(jù)中的內(nèi)容集過濾至僅僅那些已改變和/或必須更新的部分。
[0024] 在515,客戶機(jī)基于接收到的增量數(shù)據(jù)來更新電子頁面的頁面內(nèi)容。應(yīng)當(dāng)理解,在 更新上述頁面內(nèi)容時,客戶機(jī)可被配置成確保電子頁面的狀態(tài)(例如,在標(biāo)記、樣式、腳本 等方面)與在全頁面加載時會存在的狀態(tài)匹配。更新頁面內(nèi)容的示例性過程可包括若干步 驟,下文將參考圖6更詳細(xì)地描述這些步驟。
[0025] 在520,客戶機(jī)確定差錯與電子頁面的頁面加載過程相關(guān)聯(lián)。具體而言,客戶機(jī)可 以確定差錯情況,并且基于所遇到的差錯,"故障轉(zhuǎn)移"到各個選項。應(yīng)當(dāng)理解,如此處定義 的,"差錯"是使呈現(xiàn)增量數(shù)據(jù)是不可能或不合理的由此需要關(guān)于電子頁面的故障轉(zhuǎn)移過程 的"情形"。應(yīng)當(dāng)理解,差錯情況可在頁面加載過程之前或期間發(fā)生。在前一種情況中,月艮 務(wù)器可發(fā)送差錯代碼響應(yīng)而不是"增量"有效載荷。在后一種情況中,差錯可能在上述步驟 505-515中的任一步驟期間發(fā)生。還應(yīng)當(dāng)理解,根據(jù)一實施例,從服務(wù)器接收簡單(S卩,非增 量)標(biāo)記數(shù)據(jù)可構(gòu)成差錯情況(即,常規(guī)網(wǎng)頁的完整標(biāo)記)。
[0026] 根據(jù)一實施例,當(dāng)差錯被確定時,將發(fā)生故障轉(zhuǎn)移動作。響應(yīng)于差錯,客戶機(jī)可執(zhí) 行以下動作之一 :(1)重啟最小下載策略(即,基線電子頁面被重新加載并且到所請求的頁 面的導(dǎo)航被重新運(yùn)行);(2)響應(yīng)于導(dǎo)航請求,重定向到不同的基線電子頁面(S卩,與先前關(guān) 聯(lián)于所請求的電子頁面的基線電子頁面不同的基線電子頁面);以及(3)響應(yīng)于導(dǎo)航請求, 重定向到完全呈現(xiàn)的電子頁面(即,未利用增量數(shù)據(jù))。應(yīng)當(dāng)理解,重定向到完全呈現(xiàn)的頁 面等同于傳統(tǒng)電子頁面導(dǎo)航。應(yīng)當(dāng)理解,盡管服務(wù)器可以處理差錯并且確定應(yīng)采取哪一動 作來進(jìn)行"故障轉(zhuǎn)移",但客戶機(jī)執(zhí)行實際工作。
[0027] 在525,客戶機(jī)管理電子頁面的URL的片段標(biāo)識符部分。根據(jù)一實施例,URL的片 段標(biāo)識符(即,"散列")部分可被用于在最小下載策略導(dǎo)航中跟蹤當(dāng)前位置。片段標(biāo)識符 可由電子頁面上的許多控件和組件使用。應(yīng)當(dāng)理解,盡管先前散列管理解決方案在不止一 個使用散列的組件在電子頁面上時具有有限的功能,但本發(fā)明中的客戶機(jī)可以提供API以 供多者在片段標(biāo)識符中注冊數(shù)據(jù)槽。因此,使得多個頁面組件能夠使用片段標(biāo)識符而不受 干擾。
[0028] 在530,客戶機(jī)截取導(dǎo)航點擊事件以確保最小下載策略導(dǎo)航(即,利用增量數(shù)據(jù)的 導(dǎo)航)。具體而言,客戶機(jī)可以提供全局"點擊"處理器以及若干局部"點擊"處理器以截取 與導(dǎo)航到電子頁面相關(guān)聯(lián)的導(dǎo)航點擊事件。因此,應(yīng)當(dāng)理解,客戶機(jī)可被配置成確保只要有 可能,導(dǎo)航就經(jīng)由最小下載策略發(fā)生。例程500從操作530隨后至結(jié)束。
[0029] 可以理解,處理、聯(lián)網(wǎng)、和/或其他特征可有助于提供上述過程。過程500的各方 面可分布至計算體系結(jié)構(gòu)的其他組件、客戶機(jī)、服務(wù)器或在計算體系結(jié)構(gòu)的其他組件、客戶 機(jī)、服務(wù)器之間分布,并且其他示例和實施例不旨在限制此處描述的特征。盡管針對圖5中 的示例性流程圖描述了一定數(shù)量和次序的操作,但可以理解,可根據(jù)所期望的實現(xiàn)而使用 其他數(shù)量和/或次序。
[0030] 圖6是解說根據(jù)一實施例的用于在客戶機(jī)最小下載過程期間更新電子頁面內(nèi)容 的示例性過程600的流程圖。在605,在客戶機(jī)引發(fā)"卸載"事件使得所請求的電子頁面上 的控件可按需對其進(jìn)行處理時,過程600開始。
[0031] 在610,客戶機(jī)處置來自先前電子頁面的、未從步驟605所引發(fā)的卸載事件中正確 地清除的元素。
[0032] 在615,客戶機(jī)移除不需要的樣式表鏈接和樣式塊。
[0033] 在620,客戶機(jī)清理輸入元素(S卩,從電子頁面上的任何表單中移除輸入元素)。例 如,輸入元素可從來自先前電子頁面的主電子表單中被移除。
[0034] 在625,客戶機(jī)取消腳本超時和間隔(S卩,客戶機(jī)清除陳舊或先前電子頁面的事 件)。根據(jù)一實施例,超時和間隔可使用普通腳本方法來取消。應(yīng)當(dāng)理解,setTimeout和 set Interval方法可被用來跟蹤應(yīng)取消哪些超時和間隔。根據(jù)一實施例,超時和間隔可包括 JAVASCRIPT超時和間隔。
[0035] 在630,客戶機(jī)清除新電子頁面的腳本事件。
[0036] 在635,客戶機(jī)進(jìn)行清除,從而清除存儲器中的對象直至與所請求的電子頁面相關(guān) 聯(lián)的基線電子頁面的初始狀態(tài)。具體而言,客戶機(jī)可以清除掉不再適用于所導(dǎo)航到的電子 頁面的腳本對象。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,從存儲器中清除掉腳本對象也被描述為"垃圾 收集"。具體而言,垃圾收集是運(yùn)行時環(huán)境(例如,.NET和JAVA)中的標(biāo)準(zhǔn)操作。
[0037] 在637,客戶機(jī)將腳本文件中的腳本文件對象更新至初始狀態(tài)。根據(jù)一實施例,客 戶機(jī)可利用系統(tǒng)來加載旨在只有當(dāng)需要時才加載的腳本文件??蛻魴C(jī)可以將所有腳本文件 對象更新至其初始狀態(tài)(即,預(yù)加載狀態(tài))。
[0038] 在640,客戶機(jī)添加新樣式表和樣式塊。
[0039] 在645,客戶機(jī)將已更新標(biāo)記插入到電子頁面。具體而言,客戶機(jī)可將該標(biāo)記插入 到電子頁面上的一個或多個可更新區(qū)域。應(yīng)當(dāng)領(lǐng)會,在更新電子頁面的頁面內(nèi)容的早期階 段插入標(biāo)記使得內(nèi)容能夠更快地出現(xiàn),并且改進(jìn)加載期間所感知的性能。這還確保了對內(nèi) 容的加載確實導(dǎo)致附加腳本在電子頁面的頁面布局被更新時運(yùn)行。
[0040] 在650,客戶機(jī)向電子頁面添加新腳本文件引用。應(yīng)當(dāng)理解,不需要但已加載的腳 本文件在該步驟中無需重新加載。
[0041] 在655,客戶機(jī)調(diào)用電子頁面的腳本文件上的初始化函數(shù)。具體而言,客戶機(jī)可以 按腳本文件被加載在所導(dǎo)航到的電子頁面上的順序來調(diào)用每一腳本文件(即,新加載或先 前加載的腳本文件)上的初始化函數(shù)。應(yīng)當(dāng)理解,初始化函數(shù)可以包含電子頁面的所有全 局變量初始化。由此,初始化的調(diào)用確保了在電子頁面上腳本的全局狀態(tài)就像在全頁面導(dǎo) 航到電子頁面上那樣。
[0042] 在660,客戶機(jī)在電子頁面上插入內(nèi)聯(lián)腳本塊。
[0043] 在665,客戶機(jī)在電子頁面上激發(fā)腳本文件對象上的"加載"事件。具體而言,客戶 機(jī)可以運(yùn)行已加載的事件處理器。例如,客戶機(jī)可以在電子頁面上激發(fā)旨在只有當(dāng)需要時 才加載的所有腳本上的"已加載"事件。根據(jù)一實施例,"已加載"事件的激發(fā)可由客戶機(jī)來 模擬。
[0044] 在670,客戶機(jī)在電子頁面上激發(fā)"加載"事件,使得新電子頁面上的控件能夠按需 處理該事件。根據(jù)一實施例,"已加載"事件的激發(fā)可由客戶機(jī)來模擬。應(yīng)當(dāng)理解,本文討論 的各實施例不限于上述模擬,并且對其他事件的附加模擬也可被執(zhí)行,以便隨著web瀏覽 器繼續(xù)演進(jìn)而仿真電子/web瀏覽器頁面的生存周期。
[0045] 在675,客戶機(jī)更新電子頁面的URL的片段標(biāo)識符部分,以匹配所導(dǎo)航到的電子頁 面的URL。還應(yīng)當(dāng)理解,上述一系列步驟605-675結(jié)束時,電子頁面的腳本、樣式和標(biāo)記是正 確的,并且最小下載策略導(dǎo)航被認(rèn)為已完成。過程600隨后從675結(jié)束。
[0046] 可以理解,處理、聯(lián)網(wǎng)、和/或其他特征可有助于提供上述過程。過程600的各方 面可分布至計算體系結(jié)構(gòu)的其他組件、客戶機(jī)、服務(wù)器或在計算體系結(jié)構(gòu)的其他組件、客戶 機(jī)、服務(wù)器之間分布,并且其他示例和實施例不旨在限制此處描述的特征。盡管針對圖6中 的示例性流程圖描述了一定數(shù)量和次序的操作,但可以理解,可根據(jù)所期望的實現(xiàn)而使用 其他數(shù)量和/或次序。
[0047] 盡管在此描述了某些實施例,但其他實施例是可用的,并且不應(yīng)該用所描述的各 實施例來限制權(quán)利要求書。針對各個實施例的示例性通信環(huán)境可包括對安全網(wǎng)絡(luò)、非安全 網(wǎng)絡(luò)、混合網(wǎng)絡(luò)和/或某其他網(wǎng)絡(luò)或各網(wǎng)絡(luò)的組合的使用。作為示例而非限制,該環(huán)境可包 括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),和/或諸如聲學(xué)、射頻(RF)、紅外線之類的 無線介質(zhì)和/或其他有線和/或無線介質(zhì)和組件。除了計算系統(tǒng)、設(shè)備等以外,可將各個實 施例實現(xiàn)為計算機(jī)過程(例如,方法)、計算機(jī)程序產(chǎn)品或計算機(jī)可讀介質(zhì)之類的制品、計 算機(jī)可讀存儲介質(zhì)和/或作為各種通信結(jié)構(gòu)的一部分。
[0048] 合適的編程裝置包括指示計算機(jī)系統(tǒng)或設(shè)備執(zhí)行方法中的各步驟的任何裝置,例 如包括由處理單元和耦合到計算機(jī)存儲器的各算術(shù)邏輯電路組成的系統(tǒng),該系統(tǒng)具有在計 算機(jī)存儲器中進(jìn)行存儲的能力,該計算機(jī)存儲器包括配置來存儲數(shù)據(jù)和程序指令的電子電 路。示例性計算機(jī)程序產(chǎn)品能與任何合適的數(shù)據(jù)處理系統(tǒng)一起使用。盡管此處描述了一定 數(shù)量和類型的組件,但可以理解,可根據(jù)各個實施例可包括其他數(shù)量和/或類型和/或配 置。因此,根據(jù)所期望的實現(xiàn),還可將組件功能進(jìn)一步進(jìn)行劃分和/或?qū)⑵渑c其他組件功能 組合在一起。
[0049] 如這里所使用的術(shù)語計算機(jī)可讀介質(zhì)可以包括計算機(jī)存儲介質(zhì)。計算機(jī)存儲介質(zhì) 可包括以用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方 法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。系統(tǒng)存儲器、可移動存儲和不 可移動存儲都是計算機(jī)存儲介質(zhì)示例(即,存儲器存儲)。計算機(jī)存儲介質(zhì)可以包括,但不 限于,RAM、ROM、電可擦除只讀存儲器(EEPR0M)、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功 能盤(DVD)或其它光存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或可用于存儲信 息且可以由計算設(shè)備訪問的任何其它介質(zhì)。任何這樣的計算機(jī)存儲介質(zhì)都可以是設(shè)備的一 部分。
[0050] 此處描述的各實施例和示例不旨在是限制性的,并且其他實施例也是可用的。此 夕卜,上述各組件可被實現(xiàn)為聯(lián)網(wǎng)、分布式和/或其他計算機(jī)實現(xiàn)環(huán)境的一部分。這些組件可 以經(jīng)由有線、無線、和/或通信網(wǎng)絡(luò)的組合來通信。網(wǎng)絡(luò)組件和/或各組件之間的耦合可包 括任何類型、數(shù)量和/或組合的網(wǎng)絡(luò),且相應(yīng)的網(wǎng)絡(luò)組件包括但不限于廣域網(wǎng)(WAN)、局域 網(wǎng)(LAN)、城域網(wǎng)(MAN)、專有網(wǎng)絡(luò)、后端網(wǎng)絡(luò)等。
[0051] 客戶計算設(shè)備/系統(tǒng)和服務(wù)器可以是任何類型和/或組合的基于處理器的設(shè)備或 系統(tǒng)。另外,服務(wù)器功能可包括許多組件并包括其他服務(wù)器。在單個時態(tài)中描述的計算環(huán) 境的組合可包括這種組件的多個實例。盡管特定實施例包括軟件實現(xiàn),但它們不限于此并 且它們涵蓋硬件或混合硬件/軟件解決方案。其他實施例和配置是可用的。
[0052] 示例性操作環(huán)境
[0053] 現(xiàn)在參考圖7,以下討論旨在提供可以在其中實現(xiàn)本發(fā)明的各實施例的合適計算 設(shè)備的簡要、一般的描述。盡管將在結(jié)合在個人計算機(jī)上的操作系統(tǒng)上運(yùn)行的應(yīng)用程序執(zhí) 行的程序模塊的一般上下文中描述本發(fā)明,但本領(lǐng)域的技術(shù)人員可以認(rèn)識到,本發(fā)明也可 結(jié)合其他類型的計算系統(tǒng)、設(shè)備和/或程序模塊實現(xiàn)。
[0054] -般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組 件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本領(lǐng)域的技術(shù)人員將理解,本發(fā)明的實施例可以使 用其他計算機(jī)系統(tǒng)配置來實施,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程的 消費(fèi)電子產(chǎn)品、小型計算機(jī)、大型計算機(jī)等。本發(fā)明也可在其中由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程 處理設(shè)備執(zhí)行任務(wù)的分布式計算環(huán)境中實現(xiàn)。在分布式計算環(huán)境中,程序模塊可位于本地 和遠(yuǎn)程存儲器存儲設(shè)備兩者中。
[0055] 如圖7所示,計算機(jī)2包括通用服務(wù)器、臺式計算機(jī)、膝上型計算機(jī)、手持式計算 機(jī)、平板或能夠執(zhí)行一個或多個應(yīng)用程序的其它類型的計算機(jī)。計算機(jī)2包括至少一個中 央處理單元8 ( "CPU")、包括隨機(jī)存取存儲器18 ( "RAM")和只讀存儲器("ROM")20的系 統(tǒng)存儲器12、以及將存儲器耦合至CPU8的系統(tǒng)總線10。在R0M20中存儲基本輸入/輸出 系統(tǒng),該系統(tǒng)包含有助于諸如在啟動期間在計算機(jī)內(nèi)的各元件之間傳輸信息的基本例程。 計算機(jī)2還包括用于儲存操作系統(tǒng)24、應(yīng)用程序、以及其他程序模塊26的大容量存儲設(shè)備 14。
[0056] 大容量存儲設(shè)備14通過連接至總線10的大容量存儲控制器(未示出)連接至 CPU8。大容量存儲設(shè)備14及其相關(guān)聯(lián)的計算機(jī)可讀介質(zhì)為計算機(jī)2提供非易失性存儲。盡 管此處包含的計算機(jī)可讀介質(zhì)的描述指的是大容量存儲設(shè)備,諸如硬盤或CD-ROM驅(qū)動器, 但本領(lǐng)域的技術(shù)人員應(yīng)明白,計算機(jī)可讀介質(zhì)可以是可由計算機(jī)2訪問或利用的任何可用 介質(zhì)。
[0057] 作為示例而非限制,計算機(jī)可讀介質(zhì)可包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī) 存儲介質(zhì)包括以用于存儲諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信 息的任何方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機(jī)存儲介 質(zhì)包括,但不限于,RAM、R0M、EPR0M、EEPR0M、閃存或其他固態(tài)存儲器技術(shù)、CD-R0M、數(shù)字多功 能盤("DVD")或其他光學(xué)存儲、磁帶盒、磁帶、磁盤存儲或其他磁性存儲設(shè)備、或能用于存 儲所需信息且可以由計算機(jī)2訪問的任何其他介質(zhì)。
[0058] 根據(jù)本發(fā)明的各實施例,計算機(jī)2可以使用通過諸如局域網(wǎng)、因特網(wǎng)等的網(wǎng)絡(luò)4與 遠(yuǎn)程計算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。計算機(jī)2可以通過連接至總線10的網(wǎng)絡(luò)接口 單元16來連接到網(wǎng)絡(luò)4。應(yīng)當(dāng)明白,網(wǎng)絡(luò)接口單元16也可用于連接至其它類型的網(wǎng)絡(luò)和 遠(yuǎn)程計算系統(tǒng)。計算機(jī)2也可包括輸入/輸出控制器22,用于接收和處理來自多個其他設(shè) 備,包括鍵盤、鼠標(biāo)等(未示出)的輸入。類似地,輸入/輸出控制器22可將輸出提供給顯 示屏、打印機(jī)、或其他類型的輸出設(shè)備。
[0059] 如以上簡要地提及的,許多程序模塊和數(shù)據(jù)文件可以被存儲在計算機(jī)2的大容量 存儲設(shè)備14和RAM18中,包括適用于控制聯(lián)網(wǎng)的個人計算機(jī)的操作的操作系統(tǒng)24,諸如位 于華盛頓州雷德蒙市的微軟公司的WINDOWS操作系統(tǒng)。大容量存儲設(shè)備14和RAM18還可 以存儲一個或多個程序模塊。具體而言,大容量存儲設(shè)備14和RAM18可存儲應(yīng)用和/或程 序模塊26,其可包括但不限于,web應(yīng)用平臺、文字處理、電子表格、繪圖、電子郵件、和其他 應(yīng)用和/或程序模塊等等。應(yīng)當(dāng)理解,web應(yīng)用平臺可允許管理和供應(yīng):內(nèi)聯(lián)網(wǎng)門戶、外聯(lián) 網(wǎng)、網(wǎng)站、文檔和文件管理、協(xié)作空間、社交工具、企業(yè)搜索、業(yè)務(wù)智能、過程集成、系統(tǒng)集成、 工作流自動化、以及第三方解決方案的核心基礎(chǔ)結(jié)構(gòu)。根據(jù)一實施例,應(yīng)用和/或程序模塊 26可包括華盛頓州雷蒙德市的微軟公司(MICROSOFT CORPORATION)的SHAREPOINT web應(yīng) 用平臺。
[0060] 應(yīng)當(dāng)明白,本發(fā)明的各種實施例可被實現(xiàn)為(1)運(yùn)行于計算機(jī)系統(tǒng)上的一系列計 算機(jī)實現(xiàn)的動作或程序模塊,和/或(2)計算機(jī)系統(tǒng)內(nèi)互連的機(jī)器邏輯電路或電路模塊。這 種實現(xiàn)是取決于實現(xiàn)本發(fā)明的計算系統(tǒng)的性能需求的選擇問題。因此,包括相關(guān)算法的邏 輯操作可被不同地稱為操作、結(jié)構(gòu)設(shè)備、動作或模塊。本領(lǐng)域技術(shù)人員將認(rèn)識到,這些操作、 結(jié)構(gòu)設(shè)備、動作和模塊可以用軟件、固件、專用數(shù)字邏輯、以及其任意組合實現(xiàn),而不背離如 本文中闡述的權(quán)利要求內(nèi)陳述的本發(fā)明精神和范圍。
[0061] 盡管已經(jīng)結(jié)合各示例性實施例描述了本發(fā)明,但本領(lǐng)域普通技術(shù)人員將理解,可 以在所附權(quán)利要求的范圍內(nèi)對其作出許多修改。因此,并非旨在以任何方式將本發(fā)明的范 圍限于以上的說明,而是應(yīng)該完全參照所附權(quán)利要求書來確定。
【權(quán)利要求】
1. 一種客戶機(jī)計算機(jī),包括: 用于存儲可執(zhí)行程序代碼的存儲器;以及 功能上耦合至所述存儲器的處理器,所述處理器響應(yīng)包含在所述程序代碼中的計算機(jī) 可執(zhí)行指令并用于: 響應(yīng)于對電子頁面的導(dǎo)航請求,接收包括增量數(shù)據(jù)的有效載荷; 分析所述電子頁面的增量數(shù)據(jù); 基于接收到的增量數(shù)據(jù)來更新所述電子頁面的頁面內(nèi)容; 確定一個或多個差錯是否與所述電子頁面的頁面加載過程相關(guān)聯(lián);以及 管理統(tǒng)一資源定位符(URL)的片段標(biāo)識符部分,以在所述電子頁面的導(dǎo)航中跟蹤當(dāng)前 位置。
2. 如權(quán)利要求1所述的客戶機(jī)計算機(jī),其特征在于,所述處理器還用于截取一個或多 個導(dǎo)航點擊事件以確保最小下載策略導(dǎo)航。
3. 如權(quán)利要求1所述的客戶機(jī)計算機(jī),其特征在于,所述處理器還用于: 激發(fā)卸載事件以使得先前電子頁面上的控件能夠處理所述卸載事件;以及 更新所述URL的所述片段標(biāo)識符部分以匹配所述電子頁面的URL。
4. 如權(quán)利要求1所述的客戶機(jī)計算機(jī),其特征在于,在基于接收到的增量數(shù)據(jù)來更新 所述電子頁面的頁面內(nèi)容時,所述處理器用于將所述電子頁面的頁面狀態(tài)與從全頁面加載 返回的電子頁面的頁面狀態(tài)相匹配。
5. 如權(quán)利要求4所述的客戶機(jī)計算機(jī),其特征在于,所述處理器還用于: 引發(fā)卸載事件; 處置來自先前電子頁面的、未從所述卸載事件中正確地清除的元素; 移除不需要的樣式表鏈接和樣式塊; 清除表單中的輸入元素; 取消腳本超時和腳本間隔; 清除新電子頁面的腳本事件; 清除掉存儲器中的對象直至基線電子頁面的初始狀態(tài); 將腳本文件中的腳本文件對象更新至初始狀態(tài); 添加新樣式表和新樣式塊; 將已更新標(biāo)記插入所述電子頁面上的可更新區(qū)域; 向所述電子頁面添加新腳本文件引用; 按所述腳本文件被加載在所述電子頁面上的順序來調(diào)用所述腳本文件中的每一個上 的初始化函數(shù); 插入內(nèi)聯(lián)腳本塊; 模擬激發(fā)所述腳本文件對象上的加載事件;以及 在所述電子頁面上模擬激發(fā)所述加載事件。
6. 如權(quán)利要求1所述的客戶機(jī)計算機(jī),其特征在于,響應(yīng)于確定一個或多個差錯與頁 面加載過程相關(guān)聯(lián),所述處理器用于: 重新加載與所述電子頁面相關(guān)聯(lián)的基線電子頁面;以及 重新運(yùn)行到所述電子頁面的導(dǎo)航。
7. 如權(quán)利要求1所述的客戶機(jī)計算機(jī),其特征在于,響應(yīng)于確定一個或多個差錯與頁 面加載過程相關(guān)聯(lián),所述處理器用于:響應(yīng)于所述導(dǎo)航請求,將所述導(dǎo)航請求重定向到與先 前關(guān)聯(lián)于所述電子頁面的基線電子頁面不同的基線電子頁面。
8. 如權(quán)利要求1所述的客戶機(jī)計算機(jī),其特征在于,響應(yīng)于確定一個或多個差錯與頁 面加載過程相關(guān)聯(lián),所述處理器用于:響應(yīng)于所述導(dǎo)航請求,重定向到完全呈現(xiàn)的電子頁 面。
9. 一種方法,包括: 響應(yīng)于對電子頁面的導(dǎo)航請求,由客戶機(jī)計算設(shè)備接收包括增量數(shù)據(jù)的有效載荷; 由所述客戶機(jī)計算設(shè)備解析所述電子頁面的增量數(shù)據(jù); 由所述客戶機(jī)計算設(shè)備基于接收到的增量數(shù)據(jù)來更新所述電子頁面的頁面內(nèi)容; 由所述客戶機(jī)計算設(shè)備確定一個或多個差錯是否與所述電子頁面的頁面加載過程相 關(guān)聯(lián); 由所述客戶機(jī)計算設(shè)備管理統(tǒng)一資源定位符(URL)的散列部分,以在所述電子頁面的 導(dǎo)航中跟蹤當(dāng)前位置;以及 由所述客戶機(jī)計算設(shè)備截取一個或多個導(dǎo)航點擊事件,以確保最小下載策略導(dǎo)航。
10. 如權(quán)利要求9所述的方法,其特征在于,還包括: 激發(fā)卸載事件以使得先前電子頁面上的控件能夠處理所述卸載事件;以及 更新所述URL的所述散列部分以匹配所述電子頁面的URL。
【文檔編號】G06F9/30GK104067276SQ201380006055
【公開日】2014年9月24日 申請日期:2013年1月16日 優(yōu)先權(quán)日:2012年1月19日
【發(fā)明者】A·吉特勒曼, P·M·莫都瓦努, S·J·克羅克特, J·F·科恩, A·曼達(dá)爾 申請人:微軟公司