專利名稱:包括任務(wù)欄覆蓋的動態(tài)網(wǎng)絡(luò)應(yīng)用通知的制作方法
包括任務(wù)欄覆蓋的動態(tài)網(wǎng)絡(luò)應(yīng)用通知
背景技術(shù):
最近,行業(yè)已開始聚焦于將網(wǎng)絡(luò)應(yīng)用或網(wǎng)絡(luò)站點與用戶的計算機桌面環(huán)境或“桌面”集成的概念。雖然如此,存在與這樣做相關(guān)聯(lián)的挑戰(zhàn)。例如,現(xiàn)在對于網(wǎng)絡(luò)站點來說難以定義用于桌面集成目的的其站點邊界。由此,留給終端用戶通過其自己開發(fā)的客戶端腳本定義邊界。這可能是有問題的,因為終端用戶可能未必知道特定網(wǎng)絡(luò)站點是如何被構(gòu)造的。例如,終端用戶可能未必知道全部的鏈接、網(wǎng)絡(luò)屬性之間的關(guān)系或網(wǎng)絡(luò)站點用于為用戶提供功能的其它細微差別。相應(yīng)地,終端用戶的腳本可能未認識到這些鏈接或細微差別,并且因此可能導(dǎo)致不合意或蹩腳的用戶體驗。另外,用戶現(xiàn)在面臨稱為雙引導(dǎo)(dual boot)的問題。確切地說,用戶被迫引導(dǎo)其個人計算機、開啟其瀏覽器,并且最后啟動其希望在其中進行操作的特定網(wǎng)絡(luò)應(yīng)用。該問題 復(fù)合了這一事實瀏覽器可以為用戶提供太多干擾,例如出現(xiàn)在瀏覽器chrome中的那些,并且不允許用戶簡單地專心于與網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的手邊的特定任務(wù)。
發(fā)明內(nèi)容
提供本發(fā)明內(nèi)容來以簡化形式介紹下面在具體實施方式
中進一步描述的概念的選摘。本發(fā)明內(nèi)容不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,其也不旨在用于限制所要求保護的主題的范圍。各種實施例提供一種允許終端用戶將網(wǎng)絡(luò)應(yīng)用或網(wǎng)絡(luò)站點安裝到例如客戶端設(shè)備桌面的客戶端設(shè)備的機制。根據(jù)一個或多個實施例,客戶端代碼可以用于允許與網(wǎng)絡(luò)站點關(guān)聯(lián)的開發(fā)人員定義與用戶交互關(guān)聯(lián)的邊界,并且使得那些邊界通過運行時引擎來施行。在至少某些實施例中,開發(fā)人員可以通過JavaScript代碼提供用于開始菜單快捷鍵的創(chuàng)建、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成以及許多其它特征的各種配置。
貫穿附圖,相同數(shù)字用于指相同特征。圖I示出了根據(jù)一個或多個實施例的運行環(huán)境,本文中描述的各種原理可以在該運行環(huán)境中被使用。圖2示出了根據(jù)一個或多個實施例的網(wǎng)絡(luò)應(yīng)用窗口。圖3示出了根據(jù)一個或多個實施例的JavaScript API。圖4是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。圖5是描述根據(jù)一個或多個實施例的網(wǎng)絡(luò)應(yīng)用交互方法中的步驟的流程圖。圖6示出了根據(jù)一個或多個實施例的客戶端桌面的部分。圖7示出了根據(jù)一個或多個實施例的JavaScript API。圖8示出了根據(jù)一個或多個實施例的網(wǎng)絡(luò)站點與定制的跳轉(zhuǎn)列表之間的動態(tài)交互。圖9示出了根據(jù)一個或多個實施例的客戶端桌面的部分。
圖10示出了根據(jù)一個或多個實施例的客戶端桌面的部分。圖11是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。圖12是描述根據(jù)一個或多個實施例的方法的步驟的流程圖。圖13是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖14示出了根據(jù)一個或多個實施例的客戶端桌面。圖15示意地示出了根據(jù)一個或多個實施例的拖放操作。圖16是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。
圖17示出了根據(jù)一個或多個實施例的客戶端桌面。圖18是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。圖19示出了根據(jù)一個或多個實施例的客戶端桌面。圖20是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖21示出了根據(jù)一個或多個實施例的客戶端桌面。圖22示出了根據(jù)一個或多個實施例的、顯示網(wǎng)絡(luò)站點的瀏覽器、證書存儲、關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)應(yīng)用證書存儲之間的關(guān)系。圖23是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖24是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖25示出了根據(jù)一個或多個實施例的多個網(wǎng)絡(luò)應(yīng)用實例的示例。圖26示出了根據(jù)一個或多個實施例的客戶端桌面。圖27是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖28是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖29示出了根據(jù)一個或多個實施例的客戶端桌面。圖30示出了根據(jù)一個或多個實施例的客戶端桌面。圖31示出了根據(jù)一個或多個實施例的客戶端桌面。圖32是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖33是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖34是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖35示出了根據(jù)一個或多個實施例的、網(wǎng)絡(luò)應(yīng)用與瀏覽器之間的關(guān)系。圖36是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖37是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖38示出了根據(jù)一個或多個實施例的暫時網(wǎng)絡(luò)應(yīng)用的示例。圖39示出了根據(jù)一個或多個實施例的站點模式瀏覽器。圖40是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。圖41示出了可以用于實現(xiàn)一個或多個實施例的示例系統(tǒng)。
具體實施例方式綜沭
各種實施例提供一種允許終端用戶將網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)站點安裝到例如客戶端設(shè)備桌面的客戶端設(shè)備上的機制。根據(jù)一個或多個實施例,客戶端代碼可以用于允許與網(wǎng)絡(luò)站點關(guān)聯(lián)的開發(fā)人員定義與用戶交互關(guān)聯(lián)的邊界,并且使得那些邊界通過運行時引擎施行。在至少某些實施例中,開發(fā)人員可以通過JavaScript代碼提供用于開始菜單快捷鍵的創(chuàng)建、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成以及其它特征的各種配置??梢詫⑦吔缈醋鏖_發(fā)人員定義的與如何將功能暴露給終端用戶相關(guān)的體驗。邊界與網(wǎng)絡(luò)站點域相關(guān)聯(lián),所述網(wǎng)絡(luò)站點域例如是頂級域和可能與單獨應(yīng)用或以域為宿主的網(wǎng)絡(luò)站點子集相關(guān)聯(lián)的子域。因此,邊界可以由用于使特定網(wǎng)絡(luò)應(yīng)用運行的域、子域、文件夾、子站點、協(xié)議、主機、路徑等的集合來定義。在一個或多個實施例中,網(wǎng)絡(luò)站點可以選擇以上和以下描述的功能。在此情況下,開發(fā)人員可以提供這樣的代碼,所述代碼在某些情況下用JavaScript來表述,其定義關(guān)于其網(wǎng)絡(luò)站點的用戶體驗的邊界??商鎿Q地或另外,不選擇以上和以下描述的功能的網(wǎng)絡(luò)站點可以提供默認體驗。在以下討論中,命名為“運行環(huán)境”的小節(jié)被提供,并且描述一個在其中可以采用一個或多個實施例的環(huán)境。在此之后,命名為“集成基礎(chǔ)設(shè)施”的小節(jié)描述根據(jù)一個或多個實施例的使網(wǎng)絡(luò)應(yīng)用能夠被集成到客戶端設(shè)備的基礎(chǔ)設(shè)施。接下來,命名為“跳轉(zhuǎn)列表集 成”的小節(jié)描述根據(jù)一個或多個實施例所謂的跳轉(zhuǎn)列表可以如何被集成。接下來,命名為“任務(wù)欄固定”的小節(jié)描述根據(jù)一個或多個實施例網(wǎng)絡(luò)應(yīng)用可以如何被固定到任務(wù)欄。在此之后,命名為“關(guān)聯(lián)證書和登錄會話”的小節(jié)描述根據(jù)一個或多個實施例證書和登錄會話可以如何被關(guān)聯(lián)。接下來,命名為“使用關(guān)聯(lián)的證書創(chuàng)建和啟動網(wǎng)絡(luò)應(yīng)用”的小節(jié)描述根據(jù)一個或多個實施例網(wǎng)絡(luò)應(yīng)用可以如何被創(chuàng)建和啟動。在此之后,命名為“網(wǎng)絡(luò)應(yīng)用任務(wù)會話”的小節(jié)描述根據(jù)一個或多個實施例的任務(wù)會話的概念。接下來,命名為“網(wǎng)絡(luò)應(yīng)用與瀏覽器之間的轉(zhuǎn)換”的小節(jié)描述根據(jù)一個或多個實施例轉(zhuǎn)換可以如何在網(wǎng)絡(luò)應(yīng)用與瀏覽器之間發(fā)生。在此之后,命名為“從瀏覽器創(chuàng)建暫時網(wǎng)絡(luò)應(yīng)用”的小節(jié)描述根據(jù)一個或多個實施例暫時網(wǎng)絡(luò)應(yīng)用可以如何從瀏覽器被創(chuàng)建。接下來,命名為“將暫時網(wǎng)絡(luò)應(yīng)用轉(zhuǎn)換為安裝的網(wǎng)絡(luò)應(yīng)用”的小節(jié)描述根據(jù)一個或多個實施例暫時網(wǎng)絡(luò)應(yīng)用可以如何被轉(zhuǎn)換為安裝的網(wǎng)絡(luò)應(yīng)用。在此之后,命名為“網(wǎng)絡(luò)應(yīng)用超級主頁按鈕”的小節(jié)描述根據(jù)一個或多個實施例的與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)的主頁按鈕。最后,命名為“示例系統(tǒng)”的小節(jié)描述可以用于實現(xiàn)一個或多個實施例的示例系統(tǒng)?,F(xiàn)在考慮一個或多個實施例可以在其中被實現(xiàn)的示例運行環(huán)境。運行環(huán)境
圖I大體上在100處示出了根據(jù)一個或多個實施例的運行環(huán)境。環(huán)境100包括計算設(shè)備102,其中,計算設(shè)備102具有一個或多個處理器104、一個或多個計算機可讀存儲介質(zhì)106以及一個或多個駐留在計算機可讀存儲介質(zhì)中并且可被(多個)處理器執(zhí)行的應(yīng)用108。計算機可讀存儲介質(zhì)作為示例并且不作為限制可以包括通常與計算設(shè)備相關(guān)聯(lián)的所有形式的易失性和非易失性存儲器和/或存儲介質(zhì)。所述介質(zhì)可以包括ROM、RAM、閃存、硬盤、可移除介質(zhì)等。計算設(shè)備的一個特定示例下面在圖41中被示出和描述。另外,計算設(shè)備102包括采用網(wǎng)絡(luò)瀏覽器110的形式的軟件應(yīng)用。任意合適的網(wǎng)絡(luò)瀏覽器可以被使用,所述瀏覽器的示例從本文檔的受讓人和其他人處可得。另外,計算機可讀存儲介質(zhì)106可以包括如以上和以下描述的那樣運行的網(wǎng)絡(luò)應(yīng)用模式瀏覽器111。網(wǎng)絡(luò)應(yīng)用模式瀏覽器111充當運行時引擎,該運行時引擎接收和產(chǎn)生分別來自和去往網(wǎng)絡(luò)站點的API調(diào)用、監(jiān)視網(wǎng)絡(luò)應(yīng)用安裝過程、施行邊界以及實現(xiàn)如以上和以下所描述的功能。在運行時,網(wǎng)絡(luò)應(yīng)用模式瀏覽器是完全瀏覽器的削減版本,其中,許多正常瀏覽器功能被關(guān)閉。在某些情況下,可以將網(wǎng)絡(luò)應(yīng)用模式瀏覽器看作不包括許多通常瀏覽器控制的“比chrome少”的瀏覽器。然而,某些命令可以通過微型控制欄暴露。網(wǎng)絡(luò)應(yīng)用模式瀏覽器由此為用戶移除許多干擾,并且允許定向的、網(wǎng)絡(luò)站點定義的用戶體驗,在所述用戶體驗中,網(wǎng)絡(luò)站點可以控制用戶如何與其網(wǎng)絡(luò)應(yīng)用進行交互。在運行時,可以認為網(wǎng)絡(luò)應(yīng)用模式瀏覽器邏輯上駐留在網(wǎng)絡(luò)站點與客戶端設(shè)備的操作系統(tǒng)之間。由此,網(wǎng)絡(luò)應(yīng)用模式瀏覽器從網(wǎng)絡(luò)站點接收調(diào)用,并且可以作為響應(yīng)進行操作系統(tǒng)調(diào)用來影響本文中描述的功能。同樣,網(wǎng)絡(luò)應(yīng)用模式瀏覽器可以從操作系統(tǒng)接收將影響網(wǎng)絡(luò)站點的功能的調(diào)用。例如,操作系統(tǒng)暴露實現(xiàn)與桌面的任務(wù)欄的交互的API。網(wǎng)絡(luò)應(yīng)用模式瀏覽器可以從網(wǎng)絡(luò)站點接收調(diào)用,并且作為響應(yīng)可以進行API調(diào)用,所述API調(diào)用 實現(xiàn)如下面將變得顯而易見的任務(wù)欄功能。網(wǎng)絡(luò)應(yīng)用模式瀏覽器111可以被實現(xiàn)為單獨的組件??商鎿Q地或另外,網(wǎng)絡(luò)應(yīng)用模式瀏覽器111可以被實現(xiàn)為應(yīng)用108和/或瀏覽器110的一部分。另外,環(huán)境100包括例如互聯(lián)網(wǎng)的網(wǎng)絡(luò)112以及一個或多個網(wǎng)絡(luò)站點114,其中,可以從所述一個或多個網(wǎng)絡(luò)站點114接收內(nèi)容并向其發(fā)送內(nèi)容。如以上和以下描述的那樣,所述內(nèi)容可以包括被集成到客戶端桌面或可通過客戶端設(shè)備使用的例如網(wǎng)絡(luò)應(yīng)用的內(nèi)容。計算設(shè)備102可以被體現(xiàn)為任意合適的計算設(shè)備,作為示例并且不作為限制,例如是桌面計算機、便攜式計算機、諸如個人數(shù)字助理(PDA)的手持計算機、蜂窩電話等。已描述了示例性運行環(huán)境,現(xiàn)在考慮對允許網(wǎng)絡(luò)應(yīng)用集成到客戶端設(shè)備的基礎(chǔ)設(shè)施的討論。集成基礎(chǔ)設(shè)施
根據(jù)一個或多個實施例,網(wǎng)絡(luò)站點可以選擇作為更常見的“站點模式”體驗的一部分而被提供的域?qū)Ш?。域?qū)Ш绞咕W(wǎng)絡(luò)站點能夠定制當用戶訪問特定域內(nèi)部和外部的鏈接時其現(xiàn)存網(wǎng)絡(luò)站點的行為。當訪問開發(fā)人員指定的邊界內(nèi)部的鏈接時,內(nèi)容可以在網(wǎng)絡(luò)應(yīng)用窗口內(nèi)被渲染和消費,該網(wǎng)絡(luò)應(yīng)用窗口作為關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用的一部分由網(wǎng)絡(luò)應(yīng)用模式瀏覽器渲染。當訪問開發(fā)人員指定的邊界外部的鏈接時,關(guān)聯(lián)的內(nèi)容可以在網(wǎng)絡(luò)應(yīng)用模式瀏覽器之外的默認瀏覽器內(nèi)被渲染和消費。這允許網(wǎng)絡(luò)站點定義哪些域應(yīng)當被看作網(wǎng)絡(luò)站點的擴展,以及哪些不應(yīng)當。在一個或多個實施例中,導(dǎo)航域可以由網(wǎng)絡(luò)開發(fā)人員定義,并且標識那些其內(nèi)容被網(wǎng)絡(luò)應(yīng)用模式瀏覽器作為集成的網(wǎng)絡(luò)站點的一部分、或在網(wǎng)絡(luò)應(yīng)用模式瀏覽器之外在默認瀏覽器中顯示的鏈接。另外,默認域參數(shù)可以被定義,其用于將網(wǎng)絡(luò)應(yīng)用頁面的集合關(guān)聯(lián)
在一起。作為示例,考慮下面的行內(nèi)域頁面定義
^contoso. crm. dynamics. com\木;木.microsoft. com\木;
該域頁面定義將允許采用下方形式的URI在同一桌面網(wǎng)絡(luò)應(yīng)用窗口中顯示 sales, contoso. crm. dynamics. com\* hr. contoso. crm. dynamics\*
木· microsoft. com\crm\
同樣,該域頁面定義將迫使其它URI在桌面網(wǎng)絡(luò)應(yīng)用窗口之外被顯示,即使鏈接引用在桌面網(wǎng)絡(luò)應(yīng)用窗口內(nèi)的頁面內(nèi)部 www. bing. com home. live, com
在上面的域頁面定義中,通配符在網(wǎng)絡(luò)應(yīng)用安裝API內(nèi)被使用。該API通常在用戶選擇由網(wǎng)絡(luò)站點提供的網(wǎng)絡(luò)站點集成鏈接時被網(wǎng)絡(luò)站點調(diào)用。該API可以用將被用于啟動網(wǎng)絡(luò)站點快捷鍵的位于桌面、任務(wù)欄或開始菜單或任意其它合適位置處的信息和內(nèi)容填充網(wǎng)絡(luò)應(yīng)用文件或“.webapp”文件。應(yīng)當認識到和理解,任意合適的文件擴展可以用于定名網(wǎng)絡(luò)應(yīng)用文件。導(dǎo)航域和其它邊界信息被存儲在.webapp文件內(nèi)。當.webapp文件被啟動時,其中的導(dǎo)航域被網(wǎng)絡(luò)應(yīng)用模式瀏覽器111施行。被用戶選擇或被網(wǎng)絡(luò)站點訪問的鏈接只要其匹配通配符域則繼續(xù)在網(wǎng)絡(luò)應(yīng)用窗口內(nèi)執(zhí)行。然而,當檢測到在定義的導(dǎo)航域之外的網(wǎng)絡(luò)站點時,默認瀏覽器被實例化或被使用,并且與該網(wǎng)絡(luò)站點相關(guān)聯(lián)的內(nèi)容在網(wǎng)絡(luò)應(yīng)用窗口之外并且在默認瀏覽器之內(nèi)被顯示。
作為示例,考慮圖2,該圖示出了具有導(dǎo)航域集合a. com (202)、b. com (204)和d. com (206)的網(wǎng)絡(luò)應(yīng)用窗口 200,其意味著來自這些域的所有頁面在網(wǎng)絡(luò)應(yīng)用窗口 200內(nèi)被顯示。當來自c. com (208)或e. com (210)的頁面從網(wǎng)絡(luò)應(yīng)用窗口 200內(nèi)被訪問時,其在默認瀏覽器窗口并且不是在網(wǎng)絡(luò)應(yīng)用窗口 200中被顯示。圖3在300處示出了的根據(jù)一個或多個實施例的JavaScript API。所示出的JavaScript API使網(wǎng)絡(luò)站點能夠?qū)⒕W(wǎng)絡(luò)應(yīng)用與客戶端桌面集成。該API定義將被網(wǎng)絡(luò)應(yīng)用或運行時引擎施行的導(dǎo)航域。在該示例中,使用如上面示出的通配符表達式來描述導(dǎo)航域。該API實現(xiàn)使用客戶端設(shè)備上的內(nèi)容和信息對.webapp應(yīng)用文件302的填充或更新,并且將導(dǎo)航域及其它信息存儲在其中。這些導(dǎo)航域在網(wǎng)絡(luò)應(yīng)用被啟動時被施行。在所示和所描述的實施例中,.webapp應(yīng)用文件302包括網(wǎng)絡(luò)站點已為其站點模式配置定義的信息。該信息包括起始URL,其是被網(wǎng)絡(luò)應(yīng)用模式瀏覽器顯示的初始頁面;網(wǎng)絡(luò)站點已指定的導(dǎo)航域的全部;網(wǎng)絡(luò)應(yīng)用標題;以及所謂的收藏圖標(favicon)。如將在下面描述的,可以包括其它信息。現(xiàn)在,一旦網(wǎng)絡(luò)應(yīng)用在客戶端上被啟動,則網(wǎng)絡(luò)應(yīng)用模式瀏覽器讀取網(wǎng)絡(luò)應(yīng)用文件并施行其中定義的邊界。如以上指出的,因為網(wǎng)絡(luò)應(yīng)用體驗由熟知特定網(wǎng)絡(luò)站點及其細微差別的開發(fā)人員定義,所以可以提供完整和集成的用戶體驗。圖4是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。該方法可以被任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,該方法的方面被執(zhí)行在客戶端設(shè)備上的軟件執(zhí)行。步驟400選擇網(wǎng)絡(luò)站點集成特征。該步驟可以以任意合適的方式被執(zhí)行。通常,該步驟在用戶選擇手段(instrumentality)或采取動作來發(fā)起網(wǎng)絡(luò)應(yīng)用安裝過程時被執(zhí)行。例如,用戶可能選擇使其能夠集成網(wǎng)絡(luò)應(yīng)用的鏈接。下面提供了這可以如何被完成的特定示例。步驟402在客戶端設(shè)備上創(chuàng)建網(wǎng)絡(luò)應(yīng)用文件一這里定名為“· webapp”文件。該文件當初始被創(chuàng)建時可以構(gòu)成構(gòu)件(artifact)或殼(shell),所述構(gòu)件或殼可以隨后使用從網(wǎng)絡(luò)站點或代表網(wǎng)絡(luò)站點接收的內(nèi)容和信息來填充。步驟404用網(wǎng)絡(luò)應(yīng)用內(nèi)容填充網(wǎng)絡(luò)應(yīng)用文件。該步驟可以以任何合適的方式被執(zhí)行。例如,該步驟可以通過使用上面和下面提供了其示例的JavaScript API來執(zhí)行??商鎿Q地或另外,該步驟可以通過使用例如HTML的標記來執(zhí)行。已在客戶端上創(chuàng)建了網(wǎng)絡(luò)應(yīng)用文件并且用內(nèi)容填充了該網(wǎng)絡(luò)應(yīng)用文件,現(xiàn)在可以啟動網(wǎng)絡(luò)應(yīng)用并與之進行交互。圖5是描述根據(jù)一個 或多個實施例的網(wǎng)絡(luò)應(yīng)用交互方法中的步驟的流程圖。該方法可以由任意合適的硬件、軟件、固件或其組合來執(zhí)行。在至少某些實施例中,該方法的方面由在客戶端上執(zhí)行的軟件和在支持網(wǎng)絡(luò)站點的服務(wù)器上執(zhí)行的軟件執(zhí)行。相應(yīng)地,圖的一列被定名為“客戶端”,以便指定那些例如由客戶端或在客戶端處由網(wǎng)絡(luò)應(yīng)用模式瀏覽器執(zhí)行的步驟,以及,一列被定名為“網(wǎng)絡(luò)站點”,以便指明哪些由網(wǎng)絡(luò)站點或代表網(wǎng)絡(luò)站點執(zhí)行的步驟。步驟500接收對站點模式的用戶選擇。該步驟可以以任意合適的方式被執(zhí)行。例如,安裝在客戶端桌面上的快捷鍵可以用于接收站點模式選擇。響應(yīng)于接收到站點模式選擇,步驟502請求起始URL。起始URL可以在上面描述的網(wǎng)絡(luò)應(yīng)用文件中找到。步驟504接收起始URL請求。步驟506向客戶端返回包括與起始URL相關(guān)聯(lián)的內(nèi)容的關(guān)聯(lián)網(wǎng)絡(luò)資源。步驟508接收關(guān)聯(lián)的網(wǎng)絡(luò)資源,并且步驟510在網(wǎng)絡(luò)應(yīng)用窗口中渲染網(wǎng)絡(luò)資源。如以上描述的,網(wǎng)絡(luò)應(yīng)用窗口由網(wǎng)絡(luò)應(yīng)用模式瀏覽器渲染。步驟512接收關(guān)于在網(wǎng)絡(luò)應(yīng)用窗口中渲染的資源的用戶交互。用戶交互可以包括任意合適類型的用戶交互。例如,用戶交互可以包括源自網(wǎng)絡(luò)應(yīng)用窗口內(nèi)的導(dǎo)航活動。步驟514探知用戶交互是否在由網(wǎng)絡(luò)應(yīng)用文件定義的邊界內(nèi)。如果用戶交互在由網(wǎng)絡(luò)應(yīng)用文件定義的邊界內(nèi),則步驟516在網(wǎng)絡(luò)應(yīng)用窗口中渲染與用戶交互相關(guān)聯(lián)的內(nèi)容。如果另一方面,用戶交互不在由網(wǎng)絡(luò)應(yīng)用文件定義的邊界內(nèi),則步驟518在默認網(wǎng)絡(luò)瀏覽器中渲染與用戶交互相關(guān)聯(lián)的內(nèi)容。這樣,由網(wǎng)絡(luò)站點開發(fā)人員針對特定網(wǎng)絡(luò)站點定義的邊界可以被施行,以確保用戶體驗保持如開發(fā)人員所期望的。例如,網(wǎng)絡(luò)站點定義的起始URL是主頁,并且在網(wǎng)絡(luò)應(yīng)用模式下的主頁的隨后訪問導(dǎo)航到起始URL,而非用戶初始定義的瀏覽器主頁。這允許對網(wǎng)絡(luò)應(yīng)用特定頁面而不是一些不相關(guān)主頁的快速訪問。這減輕了終端用戶不得不定義可能或可能不正確運行的其自己的站點特定體驗的負擔。同樣,可以為終端用戶提供完整的、集成的和智能管理的體驗。已描述了示例性安裝和交互體驗,現(xiàn)在考慮跳轉(zhuǎn)列表集成的概念。跳轉(zhuǎn)列表集成
在一個或多個實施例中,開發(fā)人員可以使網(wǎng)絡(luò)站點能夠在桌面集成期間定義一系列所謂的跳轉(zhuǎn)列表任務(wù),所述跳轉(zhuǎn)列表任務(wù)可用于與網(wǎng)絡(luò)站點進行交互。另外,在至少某些實施例中,網(wǎng)絡(luò)站點可以創(chuàng)建和更新定制的跳轉(zhuǎn)列表??梢詫⑻D(zhuǎn)列表看作這樣的列表,該列表構(gòu)成被呈現(xiàn)給用戶的一組相關(guān)任務(wù)或內(nèi)容。通過跳轉(zhuǎn)列表,網(wǎng)絡(luò)站點可以向用戶提示相關(guān)和有用信息的提煉。跳轉(zhuǎn)列表與特定網(wǎng)絡(luò)應(yīng)用的能力或功能相關(guān)。例如,用于電子郵件應(yīng)用的跳轉(zhuǎn)列表可能包括這樣的任務(wù),所述任務(wù)給予用戶打開聯(lián)系人、創(chuàng)建新電子郵件消息等的能力。在某些情況下,跳轉(zhuǎn)列表可以包括相關(guān)并且最常使用的命令和數(shù)據(jù)的列表。在一個或多個實施例中,跳轉(zhuǎn)列表功能可以被實現(xiàn)為包括靜態(tài)元素和動態(tài)元素兩者。開發(fā)人員可以在如上面描述的填充網(wǎng)絡(luò)應(yīng)用文件的網(wǎng)絡(luò)應(yīng)用安裝過程期間定義靜態(tài)元素。與靜態(tài)元素相關(guān)聯(lián)的設(shè)置可以被存儲在網(wǎng)絡(luò)應(yīng)用文件內(nèi)部。在一個或多個實施例中,設(shè)置可以包括列表名稱和關(guān)聯(lián)的任務(wù)。在至少某些情況下,靜態(tài)元素可以構(gòu)成代表通常被使用的功能的元素。與動態(tài)元素相關(guān)聯(lián)的設(shè)置可以由在網(wǎng)絡(luò)應(yīng)用窗口內(nèi)部運行的網(wǎng)絡(luò)站點頁面驅(qū)動。這些設(shè)置包括動態(tài)地為用戶暴露可識別標記的設(shè)置。例如,一個設(shè)置可以向定制的跳轉(zhuǎn)列表添加項目,以及一個設(shè)置可以顯示覆蓋圖標,其示例在下面提供。在至少某些實施例中,動態(tài)設(shè)置可以在每次網(wǎng)絡(luò)應(yīng)用啟動時被清除,并且可以由網(wǎng)絡(luò)應(yīng)用腳本代碼配置。
作為根據(jù)一個實施例的定制的跳轉(zhuǎn)列表的示例,考慮圖6,該圖大體上在600處示出了客戶端桌面的一部分。根據(jù)一個或多個實施例,暴露了定制的跳轉(zhuǎn)列表602。此處,靜態(tài)元素在604處示出,以及動態(tài)元素在606處示出。在本示例中,靜態(tài)元素列表名稱是“任務(wù)”,并且任務(wù)或靜態(tài)元素包括“新電子郵件消息”、“新約會”、“新聯(lián)系人”和“新任務(wù)”。動態(tài)元素列表名稱是“今天”,并且任務(wù)或動態(tài)元素在本示例中包括從用戶的日歷生成的提醒。動態(tài)元素由關(guān)聯(lián)的網(wǎng)絡(luò)站點動態(tài)地填充。因此,在本示例中,動態(tài)元素或內(nèi)容與向用戶提供通知相關(guān)聯(lián),通常與用戶的動作獨立。如以上指出的,跳轉(zhuǎn)列表可以在桌面集成過程期間被定義。任務(wù)和跳轉(zhuǎn)列表定義可以被存儲在網(wǎng)絡(luò)應(yīng)用文件內(nèi)部。作為示例,考慮在700處示出的根據(jù)一個或多個實施例的JavaScript API的圖7。所示的JavaScript API使網(wǎng)絡(luò)站點能夠與客戶端桌面集成和定義跳轉(zhuǎn)列表。除了存在“定制的任務(wù)”和“定制的跳轉(zhuǎn)列表”之外,該JavaScript API可以與參考圖3描述的那個相同或類似。為簡潔起見,圖3內(nèi)容的一些已被省略。在至少某些實施例中,跳轉(zhuǎn)列表任務(wù)的靜態(tài)列表的初始創(chuàng)建可以例如使用在HTML文檔內(nèi)部定義的HTML標簽通過標記來定義。例如,考慮下面使用元標簽來描述靜態(tài)列表功能的示例
〈META name=,,misapplication-task”
content=,,name=Task;uri=http://marap/test3. html;icon_uri=http://marap/icon3. ico,,/>
在一個或多個實施例中,當任務(wù)被執(zhí)行時,存在數(shù)個選項。例如,與任務(wù)相關(guān)聯(lián)的URL可以在包含當前被查看的網(wǎng)頁的同一網(wǎng)絡(luò)應(yīng)用/瀏覽器窗口內(nèi)被打開。可替換地或另外,可以啟動新頁面??商鎿Q地或另外,可以顯示新彈出窗口。在這些參數(shù)被定義并被系統(tǒng)讀取之后,其可以在用戶將網(wǎng)絡(luò)站點安裝在其桌面上時被使用,所述安裝例如是如下面描述的那樣通過將其添加到開始菜單或?qū)⑵涔潭ǖ饺蝿?wù)欄。同時,在至少某些實施例中,跳轉(zhuǎn)列表上存在可以被網(wǎng)絡(luò)站點客戶端代碼操縱的一組動態(tài)值。“定制的任務(wù)”被網(wǎng)絡(luò)站點用于定義如上面所描述的靜態(tài)任務(wù)。在本示例中,靜態(tài)任務(wù)是新消息靜態(tài)任務(wù)。該API在桌面上創(chuàng)建.webapp應(yīng)用文件702,并且存儲導(dǎo)航域(如在圖3的示例中那樣)和例如關(guān)聯(lián)于跳轉(zhuǎn)列表的信息的其它信息。在所示和所描述的實施例中,.webapp應(yīng)用文件702包括網(wǎng)絡(luò)站點已針對其站點模式配置而定義的信息。該信息包括起始URL、網(wǎng)絡(luò)站點已指定的導(dǎo)航域的全部(未具體示出)、網(wǎng)絡(luò)應(yīng)用標題和所謂的收藏圖標。其它信息包括與上面提到的新消息關(guān)聯(lián)的定制的任務(wù)和“定制的列表”。在本示例中,定制的列表元素是可以由網(wǎng)絡(luò)站點在網(wǎng)絡(luò)應(yīng)用正運行在客戶端上時動態(tài)填充的動態(tài)元素。此處,“朋友”定名包括關(guān)聯(lián)于動態(tài)內(nèi)容的頭部。因此,在此情況下,動態(tài)內(nèi)容與當用戶的朋友在線時向其提供通知相關(guān)聯(lián)。此處,定制的列表是不駐留網(wǎng)絡(luò)應(yīng)用內(nèi)的單獨API。然而,定制的任務(wù)駐留網(wǎng)絡(luò)應(yīng)用內(nèi)。在運行時,關(guān)聯(lián)于靜態(tài)元素的項目可以在網(wǎng)絡(luò)應(yīng)用正運行時被預(yù)取和高速緩存。另一方面,關(guān)聯(lián)于動態(tài)元素的項目可以在網(wǎng)絡(luò)應(yīng)用正運行時由網(wǎng)絡(luò)站點運行中地提供。作為關(guān)聯(lián)于動態(tài)元素的項可以如何被運行中地提供給網(wǎng)絡(luò)應(yīng)用的實現(xiàn)示例,考慮圖8。圖8示出了網(wǎng)絡(luò)站點如何能夠動態(tài)地與定制的跳轉(zhuǎn)列表進行交互以允許用戶知道消息已到達。在本示例中,JavaScript 800示出了網(wǎng)絡(luò)站點可以如何向以網(wǎng)絡(luò)應(yīng)用模式瀏覽器為宿主的頁面發(fā)送更新。在瀏覽器中執(zhí)行的客戶端代碼負責接收更新,更新屏幕上的內(nèi)容,以及向跳轉(zhuǎn)列表發(fā)送用于更新其列表的請求。在本示例中,網(wǎng)絡(luò)站點能夠向跳轉(zhuǎn)列表推送信息以提供實時體驗。這里,當例如新消息O和新消息I的新消息被網(wǎng)絡(luò)站點接收時,可以從網(wǎng)絡(luò)應(yīng)用進行JavaScript調(diào)用來更新跳轉(zhuǎn)列表802。在至少某些實施例中,通知 可以出現(xiàn)在任務(wù)欄804中,以便通知用戶相關(guān)信息已被接收。通知可以出現(xiàn)在任務(wù)欄中的任何合適位置處,并且可以包括任意合適類型的通知。例如,通知可以出現(xiàn)在與網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的圖標806中或附近??商鎿Q地或另外,通知可以閃爍以便吸引用戶的眼球。作為示例,考慮圖9。此處,大體在900處示出了客戶端桌面的部分。任務(wù)欄901包括與當前網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的圖標902。這里注意到,覆蓋圖標904已在902內(nèi)被渲染。在本示例中,用戶已接收到新消息,并且網(wǎng)絡(luò)站點已如上面描述的那樣調(diào)入網(wǎng)絡(luò)應(yīng)用來導(dǎo)致覆蓋圖標904在圖標902內(nèi)被渲染。這向用戶提供新消息已到達的通知。作為看到覆蓋圖標904的響應(yīng),用戶可以訪問跳轉(zhuǎn)列表905來暴露指示當前正在發(fā)生或即將發(fā)生的約會的元素908。還應(yīng)當注意到,元素906也被暴露。JavaScript摘錄910示出了可以用于更新覆蓋圖標的代碼的一個示例。網(wǎng)絡(luò)站點與網(wǎng)絡(luò)應(yīng)用之間的動態(tài)交互可以以各種其它方式發(fā)生。例如,在至少某些實施例中,響應(yīng)于用戶關(guān)于網(wǎng)絡(luò)站點的動作,可以將預(yù)覽窗口從網(wǎng)絡(luò)站點推送給跳轉(zhuǎn)列表。在所示和所描述的實施例中,預(yù)覽窗口是由網(wǎng)絡(luò)站點提供的微型視圖??梢皂憫?yīng)于任何合適類型的用戶動作而提供預(yù)覽窗口。例如,在至少某些實施例中,可以響應(yīng)于鼠標停留在與網(wǎng)絡(luò)站點關(guān)聯(lián)的任務(wù)欄圖標上而將預(yù)覽窗口從網(wǎng)絡(luò)站點推送到跳轉(zhuǎn)列表??商鎿Q地或另外,可以通過將光標放在網(wǎng)絡(luò)應(yīng)用的任務(wù)欄圖標上并左鍵點擊來提供預(yù)覽窗口。作為示例,考慮圖10。此處,大體在1000處示出了客戶端桌面的部分。任務(wù)欄1001包括與當前網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的圖標1002。此處注意到,用戶已將其光標放在圖標1002上。作為響應(yīng),預(yù)覽窗口 1004已被渲染。在運行時,響應(yīng)于用戶將其光標放在圖標上的動作,事件被發(fā)送給網(wǎng)絡(luò)頁面。作為接收到事件的響應(yīng),網(wǎng)絡(luò)頁面可以然后動態(tài)地提供預(yù)覽,或?qū)е乱迅咚倬彺娴念A(yù)覽窗口被渲染。在至少某些實施例中,預(yù)覽窗口可以還被網(wǎng)絡(luò)站點用于定義工具欄按鈕和關(guān)聯(lián)的行為。例如,在所示和所描述的實施例中,網(wǎng)絡(luò)應(yīng)用包括媒體播放器應(yīng)用,并且三個工具欄按鈕出現(xiàn)在被覆蓋在預(yù)覽窗口 1004上的用戶接口手段1006中。按鈕包括暫停按鈕、停止按鈕和播放按鈕。在至少某些實施例中,工具欄按鈕可以使用客戶端代碼來實現(xiàn),所述客戶端代碼避免了不得不與遠程服務(wù)器進行交互。例如,可以為特定網(wǎng)絡(luò)頁面注冊各個按鈕。為每個按鈕配置和指派了 ID。為所有按鈕事件注冊一個“監(jiān)聽器”。當按鈕被按下時,事件被生成并被傳輸回瀏覽器,瀏覽器然后將事件傳播到已注冊的事件監(jiān)聽器。事件包含被按下的按鈕。這實現(xiàn)了按鈕之間的歧義消除。實現(xiàn)示例
在一個實現(xiàn)示例中,網(wǎng)絡(luò)開發(fā)人員可以使用下面的JavaScript函數(shù)來更新跳轉(zhuǎn)列表中的定制列表和更新任務(wù)欄覆蓋圖標
列表創(chuàng)建行為
這定義列表名稱,該列表名稱是定制的列表的標題。該值將作為列表表頭被顯示??蛇x地,可以提供包含項目的名稱、該項目的URI值和關(guān)聯(lián)于該項目的圖像的項目列表來初始地填充列表。當瀏覽器在網(wǎng)絡(luò)應(yīng)用模式下被啟動時,可以支持該功能。列表更新行為
提供列表項目值來更新特定列表項目。列表項目值包括該項目的名稱、該項目的URI和關(guān)聯(lián)于該項目的圖像。當瀏覽器在網(wǎng)絡(luò)應(yīng)用模式下被啟動時,可以支持該功能。設(shè)置覆蓋圖標
指定URI值,該URI值指向?qū)⒈挥米饔糜诂F(xiàn)有任務(wù)欄圖標的覆蓋的圖標。當瀏覽器在網(wǎng)絡(luò)應(yīng)用模式下被啟動時,可以支持該功能。設(shè)置預(yù)覽圖像
URI,其指向應(yīng)當被用作用于任務(wù)欄預(yù)覽圖像(或拇指欄預(yù)覽)的圖形表示的圖像。當用戶用鼠標左鍵在任務(wù)欄圖標上點擊時,顯示該預(yù)覽。清除覆蓋圖標
這移除任務(wù)欄圖標上的現(xiàn)有覆蓋圖標。當瀏覽器在網(wǎng)絡(luò)應(yīng)用模式下被啟動時,可以支持該功能。網(wǎng)絡(luò)開發(fā)人員可以使用以下JavaScript函數(shù)來定義和修改被顯示在特定網(wǎng)絡(luò)站點的任務(wù)欄預(yù)覽窗口中的一組工具欄按鈕。工具欄按鈕安裝
使用工具提示和圖像URL指定按鈕ID的列表。當用戶選擇工具欄按鈕時,事件被傳遞給網(wǎng)絡(luò)站點進行處理。網(wǎng)絡(luò)站點可以然后消除按鈕事件之間的歧義。當站點模式窗口被打開時,該調(diào)用被執(zhí)行至少一次,以便使按鈕被顯示。當瀏覽器在網(wǎng)絡(luò)應(yīng)用模式下被啟動時,支持該功能。更新圖像
這識別了已指定的按鈕ID的狀態(tài)和可見性??梢詥⒂没蚪迷摖顟B(tài)。在至少某些實施例中,默認地,所述按鈕被啟用。視圖可以被顯示或隱藏。默認地,已定義的按鈕是可見的。當瀏覽器在網(wǎng)絡(luò)應(yīng)用模式下被啟動時,支持該功能。圖11是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。方法可以被任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,方法的各方面由在客戶端設(shè)備上執(zhí)行的軟件執(zhí)行。步驟1100選擇網(wǎng)絡(luò)站點集成特征。該步驟可以以任意合適的方式被執(zhí)行。通常,當用戶選擇手段或以其它方式采取行動來發(fā)起網(wǎng)絡(luò)應(yīng)用安裝過程時,該步驟被執(zhí)行。例如,用戶可以選擇使其能夠集成網(wǎng)絡(luò)應(yīng)用的鏈接。下面提供了這可以如何被完成的特定示例。步驟1102在客戶端設(shè)備上創(chuàng)建網(wǎng)絡(luò)應(yīng)用文件一這里定名為“.webapp”文件。該文件當初始被創(chuàng)建時可以構(gòu)成構(gòu)件或殼,其中,隨后可以使用從網(wǎng)絡(luò)站點或代表網(wǎng)絡(luò)站點接收的內(nèi)容和信息填充該器具或殼。步驟1104使用在本示例中包括跳轉(zhuǎn)列表的網(wǎng)絡(luò)應(yīng)用內(nèi)容填充網(wǎng)絡(luò)應(yīng)用文件。該步驟可以以任意合適的方式被執(zhí)行。例如,該步驟可以通過使用上面描述了其示例的JavaScript API來執(zhí)行??商鎿Q地或另外,該步驟的各方面可以通過使用例如HTML的標記來執(zhí)行。已在客戶端上創(chuàng)建和填充了網(wǎng)絡(luò)應(yīng)用文件,網(wǎng)絡(luò)應(yīng)用現(xiàn)在可以在任意合適的時間被啟動。圖12示出了描述根據(jù)一個或多個實施例的方法的步驟的流程圖。所述步驟可以結(jié)合任意合適的硬件、軟件、固件或其組合來執(zhí)行。在至少某些實施例中,所述方法可以由在客戶端上執(zhí)行的軟件關(guān)聯(lián)于在服務(wù)器上執(zhí)行的軟件來執(zhí)行。
步驟1200接收關(guān)聯(lián)于跳轉(zhuǎn)列表的用戶動作。任何合適的用戶動作可以被接收,上面提供了其示例。例如,在至少某些實施例中,可以接收到關(guān)于具體顯示的跳轉(zhuǎn)列表或未被顯示的跳轉(zhuǎn)列表的用戶動作??商鎿Q地或另外,可以接收到關(guān)于顯示的關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的圖標的用戶動作。圖標可以例如在桌面任務(wù)欄或任意其它合適的位置處被顯示。上面提供了所述動作的示例。步驟1202呈現(xiàn)了與用戶動作關(guān)聯(lián)的內(nèi)容。例如,呈現(xiàn)的內(nèi)容可以包括跳轉(zhuǎn)列表其自身??梢皂憫?yīng)于上面提供了其示例的任意合適類型的用戶動作而呈現(xiàn)跳轉(zhuǎn)列表。呈現(xiàn)的內(nèi)容可以還包括除跳轉(zhuǎn)列表其自身之外的內(nèi)容。例如,可以響應(yīng)于例如在任務(wù)欄圖標上的左鍵點擊的用戶動作而呈現(xiàn)定制的預(yù)覽窗口。例如,用戶可以選擇創(chuàng)建或創(chuàng)作新電子郵件消息。圖13是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。該方法可以由任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,該方法的各方面由在客戶端上執(zhí)行的軟件和在支持網(wǎng)絡(luò)站點的服務(wù)器上執(zhí)行的軟件來執(zhí)行。相應(yīng)地,圖中的一列被定名為“客戶端”,以便指明那些由客戶端或在客戶端處執(zhí)行的步驟,以及一列被定名為“網(wǎng)絡(luò)站點”,以便指明那些由網(wǎng)絡(luò)站點或代表網(wǎng)絡(luò)站點執(zhí)行的步驟。步驟1300接收與動態(tài)跳轉(zhuǎn)列表項目關(guān)聯(lián)的信息。任意合適的跳轉(zhuǎn)列表項目可以充當信息被接收的基礎(chǔ),上面提供了其示例。步驟1302生成通知,以及步驟1304將通知發(fā)送到執(zhí)行網(wǎng)絡(luò)應(yīng)用的客戶端設(shè)備。步驟1306接收通知,以及步驟1308為用戶提供可識別的通知??梢蕴峁┤我夂线m類型的可識別通知。例如,在至少某些實施例中,可識別通知可以是例如覆蓋圖標或閃爍的網(wǎng)絡(luò)應(yīng)用圖標的視覺可識別通知。可替換地或另外,可識別通知可以包括例如振鈴或蜂鳴的聽覺可識別通知。已考慮了與跳轉(zhuǎn)列表集成關(guān)聯(lián)的各種實施例,現(xiàn)在考慮這樣的討論根據(jù)一個或多個實施例,網(wǎng)絡(luò)站點可以如何變得被“固定”到例如任務(wù)欄的桌面特征。仟務(wù)欄固定
存在各種在其中網(wǎng)絡(luò)應(yīng)用可以變得與客戶端桌面或任務(wù)欄集成的方式。在至少某些實施例中,網(wǎng)絡(luò)應(yīng)用可以通過拖放操作與桌面集成??商鎿Q地或另外,網(wǎng)絡(luò)應(yīng)用可以經(jīng)由網(wǎng)絡(luò)瀏覽器的菜單選擇被集成??商鎿Q地或另外,網(wǎng)絡(luò)應(yīng)用可以通過關(guān)聯(lián)的網(wǎng)絡(luò)站點其自身被集成。下面,這些實施例的每個在其自己的標題下被討論。通過拖放操作集成
在一個或多個實施例中,網(wǎng)絡(luò)應(yīng)用可以通過拖放操作與桌面或任務(wù)欄集成。作為示例,考慮圖14。此處,大體上在1400處示出了客戶端桌面。網(wǎng)絡(luò)瀏覽器窗口 1402包括在其中顯示了網(wǎng)絡(luò)站點URL的地址欄1404。關(guān)聯(lián)于URL。示出了稱為“收藏圖標”的圖標1406。另外,桌面1400包括任務(wù)欄1408。圖15示意地示出了根據(jù)一個或多個實施例的拖放操作。在本示例中,光標已被放在收藏圖標1406上。通過在收藏圖標上左鍵點擊并將其拖到任務(wù)欄1408,關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用——在此情況下為消息板應(yīng)用——可以被固定到桌面的任務(wù)欄1408。拖放操作開始如上面描述的集成網(wǎng)絡(luò)應(yīng)用的集成過程,由此將其固定到任務(wù)欄。在一個或多個實施例中,如果與網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的網(wǎng)絡(luò)頁面在瀏覽器中打開了標 簽,則在收藏圖標被放到任務(wù)欄上之后,關(guān)聯(lián)的標簽可以從瀏覽器的窗口消失。可替換地或另外,標簽可以不被移除,但作為代替,標簽的內(nèi)容可以用“新標簽”頁代替。在其中單一標簽在瀏覽器窗口中被打開的情況下,在收藏圖標被固定到任務(wù)欄之后,瀏覽器窗口將消失。在這一點上,包含在原始站點中的標簽可以在瀏覽器關(guān)閉之前但在網(wǎng)絡(luò)應(yīng)用被固定之后被移除。另外,在至少某些實施例中,當拖動操作進入任務(wù)欄時,可以呈現(xiàn)“固定到任務(wù)欄”形式的工具提示,以便通知用戶該固定功能。進一步地,被固定到任務(wù)欄的網(wǎng)絡(luò)站點或網(wǎng)絡(luò)應(yīng)用的狀態(tài)可以在網(wǎng)絡(luò)應(yīng)用第一次被實例化時被遷移到新顯示的窗口。這將允許用戶不必為能夠使用應(yīng)用而重新輸入針對站點的證書。已將網(wǎng)絡(luò)站點或網(wǎng)絡(luò)應(yīng)用固定到任務(wù)欄并且完成了如上面所描述的安裝過程,網(wǎng)絡(luò)應(yīng)用現(xiàn)在可以通過簡單地在關(guān)聯(lián)的收藏圖標上進行點擊來從任務(wù)欄啟動。圖16是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。該方法可以由任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少一些實施例中,該方法的各方面由在客戶端上執(zhí)行的軟件執(zhí)行。步驟1600接收對關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用安裝的拖放操作的指示。該步驟可以以任意合適的方式來執(zhí)行。在上面描述的實施例中,當用戶拖放關(guān)聯(lián)于網(wǎng)絡(luò)站點的例如收藏圖標的圖標以指示網(wǎng)絡(luò)站點期望將關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用與其桌面集成時,該步驟被執(zhí)行。例如,用戶可以將收藏圖標拖放到任務(wù)欄、快速啟動區(qū)域或例如桌面畫布的桌面上某個其它位置處。步驟1602響應(yīng)于拖放操作而創(chuàng)建網(wǎng)絡(luò)應(yīng)用文件。在所示和所描述的實施例中,初始創(chuàng)建的網(wǎng)絡(luò)應(yīng)用文件是還不包含來自關(guān)聯(lián)的網(wǎng)絡(luò)站點的信息的構(gòu)件或殼,所述信息例如是跳轉(zhuǎn)列表任務(wù)、起始URL、收藏圖標或諸如靜態(tài)跳轉(zhuǎn)列表任務(wù)、可替換起始URL、可替換收藏圖標等的其它屬性。這些可以稍后通過如上面所描述的新標記和/或JavaScript API來添力口。應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以利用除使用JavaScript API的那些之外的技術(shù)。通過瀏覽器菜單詵擇集成
在一個或多個實施例中,網(wǎng)絡(luò)應(yīng)用可以經(jīng)由網(wǎng)絡(luò)瀏覽器的菜單選擇被集成。作為示例,考慮圖17。此處,大體上在1700處示出了客戶端桌面。網(wǎng)絡(luò)瀏覽器窗口 1702包括顯示了URL的地址欄1704。另外,桌面1700包括任務(wù)欄1706。示出了頁面菜單形式的瀏覽器菜單項1708。通過下拉頁面菜單以暴露菜單選擇1710,顯示了菜單項或選擇“添加到開始菜單”。通過選擇該選項,網(wǎng)絡(luò)站點或網(wǎng)絡(luò)應(yīng)用可以被添加到桌面的開始菜單,并且安裝過程可以如上面描述的那樣被發(fā)起??商鎿Q地或另外,可以顯示“添加到任務(wù)欄”菜單項或選擇以實現(xiàn)安裝過程的發(fā)起。圖18是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。該方法可以由任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,該方法的各方面由在客戶端上執(zhí)行的軟件執(zhí)行。步驟1800接收瀏覽器菜單選擇。該步驟可以以任意合適的方式被執(zhí)行。在上面描述的實施例中,當用戶導(dǎo)航到特定網(wǎng)絡(luò)站點、下拉瀏覽器菜單以暴露菜單選擇并然后通過選擇與發(fā)起關(guān)聯(lián)于網(wǎng)絡(luò)站點的網(wǎng)絡(luò)應(yīng)用的安裝關(guān)聯(lián)的菜單項采取動作時,該步驟被執(zhí)行。步驟1802響應(yīng)于接收到瀏覽器菜單選擇而創(chuàng)建網(wǎng)絡(luò)應(yīng)用文件。在所示和所描述的實施例中,初始創(chuàng)建的網(wǎng)絡(luò)應(yīng)用文件是還不包含來自關(guān)聯(lián)的網(wǎng)絡(luò)站點的信息的構(gòu)件或殼,所述信息例如是跳轉(zhuǎn)列表任務(wù)、起始URL、收藏圖標等。這些可以稍后通過如上面所描述 的新標記和/或JavaScript API來添加。應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以利用除使用JavaScript API的那些之外的技術(shù)。通過關(guān)聯(lián)的網(wǎng)絡(luò)站點集成
在一個或多個實施例中,網(wǎng)絡(luò)應(yīng)用與桌面的集成可以從網(wǎng)絡(luò)頁面發(fā)生。在這些實施例中,特定網(wǎng)絡(luò)站點可以選擇通過使用例如JavaScript的代碼的集成活動,以便將網(wǎng)絡(luò)應(yīng)用集成到桌面。這允許網(wǎng)絡(luò)站點控制集成發(fā)起手段。作為示例,考慮圖19。此處,大體上在1900處示出了客戶端桌面。網(wǎng)絡(luò)瀏覽器窗口 1902包括在其中顯示了 URL的地址欄1904。另外,桌面1900包括任務(wù)欄1906。進一步地,顯示在瀏覽器窗口 1902中的網(wǎng)絡(luò)頁面包括命名為“添加到桌面”的鏈接1908。通過在該鏈接上點擊,用戶可以發(fā)起如上面所描述的網(wǎng)絡(luò)應(yīng)用安裝過程。在至少某些實施例中,在鏈接選擇發(fā)生之后,可以呈現(xiàn)模態(tài)確認對話框,該模態(tài)確認對話框解釋用戶正在采取的用戶動作以及到何處訪問其新創(chuàng)建的快捷方式。該確認對話框可以向用戶呈現(xiàn)正被呈現(xiàn)的頁面的源URL。被顯示的URL可以包含網(wǎng)絡(luò)站點的全路徑。這可以允許用戶驗證其希望安裝的網(wǎng)絡(luò)站點正從正確的站點提供。這可以緩解關(guān)聯(lián)于惡意子目錄的情況。在各種實施方式中,檢查將與桌面集成的網(wǎng)絡(luò)站點的URL,以便確認其位于與包含其的網(wǎng)絡(luò)頁面相同的域中。如果不是,則可以顯示錯誤,并且操作失敗。在用戶確認操作之后,可以移除對話框,并且網(wǎng)絡(luò)應(yīng)用窗口可以顯示正確的URL。圖20是描述根據(jù)一個或多個實施例的安裝方法中的步驟的流程圖。該方法可以由任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,該方法的各方面由在客戶端上執(zhí)行的軟件執(zhí)行。步驟2000顯示帶有集成鏈接的網(wǎng)絡(luò)頁面。該步驟可以以任意合適的方式被執(zhí)行,上面提供了其示例。步驟2002接收對集成鏈接的選擇。步驟2004響應(yīng)于接收到鏈接選擇而創(chuàng)建網(wǎng)絡(luò)應(yīng)用文件。在所示和所描述的實施例中,初始創(chuàng)建的網(wǎng)絡(luò)應(yīng)用文件是還不包含來自關(guān)聯(lián)的網(wǎng)絡(luò)站點的信息的構(gòu)件或殼,所述信息例如是跳轉(zhuǎn)列表任務(wù)、起始URL、收藏圖標等。這些可以稍后通過如上面所描述的新標記和/或JavaScript API來添加。應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以利用除使用JavaScriptAPI的那些之外的技術(shù)。在至少某些實施例中,可以為用戶提供關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的多個窗口或標簽的視覺表示。作為示例,考慮圖21。此處,桌面2100包括在其上固定了網(wǎng)絡(luò)應(yīng)用圖標的任務(wù)欄2102。光標已被用于通過在圖標上進行點擊來啟動網(wǎng)絡(luò)應(yīng)用。在本示例中,假設(shè)用戶已使用網(wǎng)絡(luò)應(yīng)用的起始頁面導(dǎo)航到多個頁面。網(wǎng)絡(luò)應(yīng)用可以實現(xiàn)示出用戶已導(dǎo)航到的網(wǎng)絡(luò)頁面集合2104的可視化展示。具體地,在本示例中,集合2104包括用于網(wǎng)絡(luò)應(yīng)用的起始頁面2106,以及用戶已從起始頁面導(dǎo)航到的后續(xù)頁面2108和2110。已考慮了各種網(wǎng)絡(luò)應(yīng)用集成技術(shù),現(xiàn)在考慮對用戶證書可以如何與針對網(wǎng)絡(luò)應(yīng)用的登錄會話相關(guān)聯(lián)的討論。關(guān)聯(lián)證書和登錄會話 各種實施例使與使用登錄或證書信息的網(wǎng)絡(luò)站點關(guān)聯(lián)的一個或更多網(wǎng)絡(luò)應(yīng)用能夠以跨網(wǎng)絡(luò)應(yīng)用的不同實例保存登錄或證書信息的方式被集成。當瀏覽器導(dǎo)航到使用登錄或證書信息的網(wǎng)絡(luò)站點時,登錄或證書信息可以被手動輸入或從證書存儲中檢索出。證書存儲可以包含針對特定URL的,作為示例并且不作為限制,諸如用戶名和密碼的用于登錄信息或用戶證書。同一 URL或網(wǎng)絡(luò)站點可以具有多個條目,每個條目關(guān)聯(lián)于不同的用戶。類似地,證書存儲可以包含針對多個URL的用戶登錄信息或證書。在至少某些實施例中,與用戶登錄進的網(wǎng)絡(luò)站點相關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用可以如上面描述的那樣被集成到桌面并與之進行交互。當所述網(wǎng)絡(luò)應(yīng)用被集成時,過程確定網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)于什么網(wǎng)絡(luò)站點以及登錄進該網(wǎng)絡(luò)站點的用戶。過程在證書存儲中搜索關(guān)聯(lián)的登錄信息和/或證書。過程可以然后在用戶、所創(chuàng)建的網(wǎng)絡(luò)應(yīng)用和相關(guān)證書之間創(chuàng)建關(guān)聯(lián)。作為示例,考慮圖22,其示出了根據(jù)一個或多個實施例網(wǎng)絡(luò)站點、證書存儲與網(wǎng)絡(luò)應(yīng)用之間的關(guān)系。瀏覽器2200顯示使用登錄信息的網(wǎng)絡(luò)站點。除顯示URL之外,顯示了圖標2210,該圖標可以被選擇以便進行如上面所描述的網(wǎng)絡(luò)應(yīng)用的集成。證書存儲2220包括條目,所述條目包含針對多個網(wǎng)絡(luò)站點的登錄信息。一個所述條目在2230處示出。這里,條目包括網(wǎng)絡(luò)站點URL、用戶名和密碼。盡管圖22將登錄信息示為包括用戶名和密碼,但應(yīng)當認識到和理解,可以使用其它形式的登錄信息或證書。在一個或多個實施例中,圖標2210可以被選擇并拖放到任務(wù)欄2235上,如上面描述和由圖標2240所示的那樣。該過程發(fā)起關(guān)聯(lián)于網(wǎng)絡(luò)站點的網(wǎng)絡(luò)應(yīng)用的集成。在該選擇被接收后,過程確定哪個用戶當前登錄到了網(wǎng)絡(luò)站點并在證書存儲2220中搜索關(guān)聯(lián)的證書。然而應(yīng)當認識到和理解,在不脫離所要保護的主題的精神的情況下,可以以其它方式確定和/或獲取該關(guān)聯(lián)的證書。當獲取到用戶的證書和/或登錄信息時,在網(wǎng)絡(luò)應(yīng)用證書存儲2250中進行證書與網(wǎng)絡(luò)應(yīng)用之間的關(guān)聯(lián)。網(wǎng)絡(luò)應(yīng)用證書存儲2250可以包含一個或多個條目,所述條目包含與網(wǎng)絡(luò)站點、網(wǎng)絡(luò)應(yīng)用和有關(guān)證書之間的關(guān)聯(lián)相關(guān)的數(shù)據(jù)。例如,圖22示出了條目2260,該條目被示為包含屬于網(wǎng)絡(luò)站點“a. com”針對用戶jsmith的登錄信息。除URL、用戶名和密碼信息之外,條目2260還包括可以用于將網(wǎng)絡(luò)應(yīng)用與對應(yīng)證書相關(guān)聯(lián)的應(yīng)用ID或“AppID”。網(wǎng)絡(luò)應(yīng)用證書存儲2250還包含針對同一網(wǎng)絡(luò)站點“^(^!!!”但不同用戶^^觀丨訪的第二條目2270。該機制允許將來自同一網(wǎng)絡(luò)站點的各個網(wǎng)絡(luò)應(yīng)用與不同用戶及其關(guān)聯(lián)的證書相關(guān)聯(lián)。盡管圖22中未示出,但可以將各種形式的用戶登錄信息和/或證書與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)。例如,在一個實施例中,關(guān)聯(lián)可以包含回指到證書存儲2220中的信息的指針或引用。在另一實施例中,網(wǎng)絡(luò)應(yīng)用證書存儲2250可以包括從證書存儲復(fù)制的信息。在又另一實施例中,可以將與用戶名和密碼分離或除其之外的證書與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)。例如,生物統(tǒng)計信息可以形成在網(wǎng)絡(luò)應(yīng)用證書存儲中創(chuàng)建的關(guān)聯(lián)的基礎(chǔ)。已描述了網(wǎng)絡(luò)站點、證書存儲和網(wǎng)絡(luò)應(yīng)用之間的關(guān)系,現(xiàn)在針對使用關(guān)聯(lián)證書的網(wǎng)絡(luò)站點考慮網(wǎng)絡(luò)應(yīng)用可以如何被集成。使用關(guān)聯(lián)i正書創(chuàng)建和啟動網(wǎng)絡(luò)應(yīng)用
圖23示出了描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。該方法可以由任 意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,方法的各方面由在客戶端上執(zhí)行的軟件執(zhí)行。步驟2300接收對網(wǎng)絡(luò)站點集成特征的選擇。上面提供了這可以如何來完成的示例。如上面描述的,網(wǎng)絡(luò)站點集成特征與網(wǎng)絡(luò)應(yīng)用在客戶端桌面上的安裝相關(guān)聯(lián)。響應(yīng)于接收到對網(wǎng)絡(luò)站點集成特征的選擇,步驟2302發(fā)起如上面描述的安裝過程以在客戶端桌面上安裝網(wǎng)絡(luò)應(yīng)用。具體地,客戶端上該過程的發(fā)起可以包括如上面描述的創(chuàng)建網(wǎng)絡(luò)應(yīng)用文件。步驟2304獲取與關(guān)聯(lián)于網(wǎng)絡(luò)站點的當前網(wǎng)絡(luò)會話相關(guān)聯(lián)的會話信息。該步驟可以以任意合適的方式來執(zhí)行。例如,在一個實施例中,可以使用渲染關(guān)聯(lián)于網(wǎng)絡(luò)站點的內(nèi)容的瀏覽器與安裝過程之間的共享存儲器部件來獲取會話信息。在另一實施例中,網(wǎng)絡(luò)站點可以自動在網(wǎng)絡(luò)站點集成特征被選擇之后轉(zhuǎn)發(fā)會話信息。在又另一實施例中,會話信息可以被瀏覽器存儲并隨后被查詢。響應(yīng)于獲取會話信息,步驟2306獲取與會話信息相關(guān)的證書。在一個實施例中,可以在證書存儲中查詢與用戶登錄進的網(wǎng)絡(luò)站點相關(guān)的登錄和/或證書。例如,可以在證書存儲中查詢與網(wǎng)絡(luò)站點和當前會話的用戶關(guān)聯(lián)的用戶名和密碼。步驟2308將與會話信息相關(guān)的證書和/或登錄信息與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)。該步驟可以以任意合適的方式來執(zhí)行。例如,證書可以被復(fù)制到網(wǎng)絡(luò)應(yīng)用證書存儲以便將來弓丨用。可替換地或另外,指向證書存儲中的證書的指針或引用可以被放入網(wǎng)絡(luò)應(yīng)用證書存儲中??梢灾辽俨糠稚匣跁捫畔⒑?或證書生成標識號,以便為每個網(wǎng)絡(luò)應(yīng)用實例和相關(guān)證書和/或登錄信息創(chuàng)建唯一的ID??梢詫⒃撔畔⑻砑拥骄W(wǎng)絡(luò)應(yīng)用證書存儲條目,以便將獲得的證書和/或登錄信息與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)。然而應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以使用任意合適的技術(shù)將證書與網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)。如上面描述的,針對每個網(wǎng)絡(luò)應(yīng)用實例的唯一 ID允許多個網(wǎng)絡(luò)應(yīng)用實例與同一URL或網(wǎng)絡(luò)站點相關(guān)聯(lián),其中,每個實例與不同用戶證書相關(guān)聯(lián)。圖24是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。該方法可以由任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,方法的各方面由在客戶端上執(zhí)行的軟件執(zhí)行。步驟2400接收對要啟動網(wǎng)絡(luò)應(yīng)用的選擇。該步驟可以以任意合適的方式來執(zhí)行。例如,如上面描述的,可以從圖標固定其上的任務(wù)欄進行圖標選擇??商鎿Q地或另外,可以從桌面開始菜單或系統(tǒng)工具欄進行選擇。當接收到對要啟動網(wǎng)絡(luò)應(yīng)用的選擇時,步驟2402檢索與網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的證書。例如,在一個或多個實施例中,可以使用AppID來引用網(wǎng)絡(luò)應(yīng)用證書存儲以便檢索針對當前登錄的用戶的登錄信息。步驟2404檢索關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用和相關(guān)證書的URL和/或FormID。當獲取到步驟2402和2404中描述的信息時,步驟2406在沒有用戶介入的情況下自治地登錄進關(guān)聯(lián)的網(wǎng)絡(luò)站點。在登錄進網(wǎng)絡(luò)站點后,步驟2408如之前在上面描述的那樣導(dǎo)航到起始URL。已描述了與證書關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用如何被集成和啟動,現(xiàn)在考慮對具有關(guān)聯(lián)證書的多個網(wǎng)絡(luò)應(yīng)用實例的討論。具有關(guān)聯(lián)i正書的多個網(wǎng)絡(luò)應(yīng)用實例
圖25示出了與證書關(guān)聯(lián)的多個網(wǎng)絡(luò)應(yīng)用實例的示例。網(wǎng)絡(luò)應(yīng)用證書存儲2500包括屬于針對網(wǎng)絡(luò)站點的網(wǎng)絡(luò)應(yīng)用和關(guān)聯(lián)證書的數(shù)據(jù)。包括在網(wǎng)絡(luò)應(yīng)用證書存儲2500中的是條 目2510和2520,每個針對不同的用戶。如圖25中所示,條目2510屬于網(wǎng)絡(luò)站點“a. com”,并且包含用于登錄進關(guān)聯(lián)網(wǎng)絡(luò)站點的例如用戶名jsmith和密碼bulldogs的額外信息。條目2510包括AppID,該AppID用于將條目與網(wǎng)絡(luò)應(yīng)用2530關(guān)聯(lián)。條目2520也屬于網(wǎng)絡(luò)站點“a. com”,但包含針對用戶bsmith的登錄信息并與網(wǎng)絡(luò)應(yīng)用2540關(guān)聯(lián)。盡管圖25將條目示為包含URL/FormID、用戶名、密碼和AppID,但應(yīng)當認識到和理解,在不脫離所要保護的主題的精神的情況下,可以使用不同形式的關(guān)聯(lián)和證書信息。由此,網(wǎng)絡(luò)應(yīng)用證書存儲中的兩個或多個數(shù)據(jù)條目可以包含標識被集成到客戶端桌面的不同網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù),并且每個具有關(guān)聯(lián)于同一網(wǎng)絡(luò)站點的不同用戶證書。在一個或多個實施例中,關(guān)聯(lián)于同一網(wǎng)絡(luò)站點的一個或多個網(wǎng)絡(luò)應(yīng)用可以同時存在或被激活。例如,軟件模塊可以被配置為使網(wǎng)絡(luò)應(yīng)用能夠經(jīng)由桌面工具欄被啟動,以及當網(wǎng)絡(luò)應(yīng)用被啟動時使用關(guān)聯(lián)證書自動地將關(guān)聯(lián)用戶登錄進網(wǎng)絡(luò)站點。除啟動單一網(wǎng)絡(luò)應(yīng)用夕卜,軟件模塊可以被配置為在選擇啟動第二網(wǎng)絡(luò)應(yīng)用時,實現(xiàn)使用針對同一網(wǎng)絡(luò)站點或不同網(wǎng)絡(luò)站點的不同用戶證書啟動第二網(wǎng)絡(luò)應(yīng)用。例如,圖25的兩個網(wǎng)絡(luò)應(yīng)用2530、2540同時被激活。如上面描述的,每個都屬于網(wǎng)絡(luò)站點“a. com”,但具有與其關(guān)聯(lián)的不同證書。當網(wǎng)絡(luò)應(yīng)用2530被選擇并啟動時,其自治地使用關(guān)聯(lián)于用戶jsmith的證書登錄到網(wǎng)絡(luò)站點“a. com”。類似地,當網(wǎng)絡(luò)應(yīng)用2540被選擇并啟動時,其使用關(guān)聯(lián)于用戶bsmith的證書登錄到網(wǎng)絡(luò)站點“a. com”。由此,關(guān)聯(lián)于同一網(wǎng)絡(luò)站點的多個網(wǎng)絡(luò)應(yīng)用實例可以被同時激活并關(guān)聯(lián)于不同證書。已描述了創(chuàng)建和啟動具有關(guān)聯(lián)證書的網(wǎng)絡(luò)應(yīng)用的概念,現(xiàn)在考慮對網(wǎng)絡(luò)應(yīng)用任務(wù)會話的討論。網(wǎng)絡(luò)應(yīng)用仟務(wù)會話
在一個或多個實施例中,可以創(chuàng)建任務(wù)會話以便使關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的狀態(tài)信息能夠被保存到系統(tǒng)。狀態(tài)信息作為示例并且不作為限制可以包括會話cookie、JavaScript狀態(tài)、DOM狀態(tài)、表單狀態(tài)、tab和窗口定位、窗口尺寸、URL、歷史等。因為關(guān)聯(lián)于特定任務(wù)會話的狀態(tài)信息被保存,所以網(wǎng)絡(luò)應(yīng)用可以被關(guān)閉并且稍后被重新打開以便恢復(fù)或重新水化(re-hydrate)針對網(wǎng)絡(luò)應(yīng)用的狀態(tài)信息。可以自動地或通過手工選擇過程保存狀態(tài)信息。
作為示例,考慮圖26。此處,桌面2600包括正被用于計劃旅行的網(wǎng)絡(luò)應(yīng)用窗口2602。桌面2600還包括任務(wù)欄2604和跳轉(zhuǎn)列表2606。網(wǎng)絡(luò)應(yīng)用目錄2608提供可以用于存儲任務(wù)會話狀態(tài)信息的存儲設(shè)施。在所示和所描述的實施例中,網(wǎng)絡(luò)應(yīng)用目錄2608在系統(tǒng)的用戶空間中被創(chuàng)建。在本示例中,用戶具有兩個已保存的任務(wù)會話——一個關(guān)聯(lián)于波多黎各旅行,以及一個關(guān)聯(lián)于阿拉斯加旅行。在運行時,當用戶與網(wǎng)絡(luò)應(yīng)用進行交互時,用戶可以通過任意合適的手段選擇創(chuàng)建和保存任務(wù)會話。在所示的示例中,跳轉(zhuǎn)列表2606具有包括兩個條目的菜單項“任務(wù)”。第一個條目“新任務(wù)會話”使用戶能夠創(chuàng)建新任務(wù)會話。第二個條目“保存當前任務(wù)”使用戶能夠保存當前任務(wù)。通過保存當前任務(wù),關(guān)聯(lián)于任務(wù)的狀態(tài)信息被持久化到網(wǎng)絡(luò)應(yīng)用目錄2608。命名為“打開任務(wù)會話”的菜單項包含條目,所述條目使用戶能夠恢復(fù)或重新水化已被持久化到網(wǎng)絡(luò)應(yīng)用目錄2608的先前任務(wù)會話。這里存在兩個先前提到、先前保存的任務(wù)會話——波多黎各旅行和阿拉斯加旅行。如從上面示例中指出的,可以針對各個網(wǎng)絡(luò)應(yīng)用創(chuàng)建和保存多個任務(wù)會話。當任·務(wù)會話被保存時,關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的應(yīng)用ID可以與任務(wù)會話一起被保存。應(yīng)用ID可以然后用于確定哪個網(wǎng)絡(luò)應(yīng)用將消費關(guān)聯(lián)于保存的任務(wù)會話的信息??梢允褂萌我夂线m的技術(shù)和方法使任務(wù)會話能夠被創(chuàng)建和保存。在至少某些實施例中,系統(tǒng)可以利用或使用關(guān)聯(lián)于系統(tǒng)的網(wǎng)絡(luò)瀏覽器的崩潰恢復(fù)系統(tǒng)。在此情況下,崩潰恢復(fù)功能可以例如當用戶選擇保存當前任務(wù)或創(chuàng)建新任務(wù)會話時被觸發(fā)。崩潰恢復(fù)功能可以創(chuàng)建“appdata”文件,該“appdata”文件可以駐留在用戶的應(yīng)用數(shù)據(jù)目錄中,并且可以用于保存關(guān)聯(lián)于任務(wù)會話的信息。本領(lǐng)域的技術(shù)人員將理解崩潰恢復(fù)系統(tǒng)的具體操作。相應(yīng)地,為簡潔起見,本文中未描述所述系統(tǒng)。圖27是描述根據(jù)一個或多個實施例的、用于保存任務(wù)會話狀態(tài)信息的方法中的步驟的流程圖。所述步驟可以結(jié)合任意合適的硬件、軟件、固件或其組合被執(zhí)行。在至少某些實施例中,所述方法可以由在客戶端上執(zhí)行的軟件關(guān)聯(lián)于在服務(wù)器上執(zhí)行的軟件來執(zhí)行。步驟2700接收關(guān)聯(lián)于保存任務(wù)會話狀態(tài)信息的輸入。任意合適的輸入可以被接收。例如,接收的輸入可以包括從用戶接收的輸入??商鎿Q地或另外,輸入可以包括某種類型的自動、程序輸入。在至少某些實施例中,用戶輸入可以經(jīng)由跳轉(zhuǎn)列表被接收??商鎿Q地或另外,用戶輸入可以經(jīng)由快捷鍵被接收。在所示和所描述的實施例中,用戶輸入指示用戶希望保存關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的任務(wù)會話狀態(tài)信息。步驟2702在網(wǎng)絡(luò)應(yīng)用目錄中創(chuàng)建或訪問任務(wù)會話數(shù)據(jù)結(jié)構(gòu)。任務(wù)會話數(shù)據(jù)結(jié)構(gòu)用于保存任務(wù)會話狀態(tài)信息。步驟2704將任務(wù)會話狀態(tài)信息保存在數(shù)據(jù)結(jié)構(gòu)中。該步驟可以以任意合適的方式執(zhí)行。例如,該步驟可以在用戶選擇保存任務(wù)會話狀態(tài)信息時被執(zhí)行。可替換地或另外,該步驟可以在用戶與網(wǎng)絡(luò)應(yīng)用交互期間定期被執(zhí)行。在至少某些實施例中,步驟2702和2704可以使用網(wǎng)絡(luò)瀏覽器的崩潰恢復(fù)系統(tǒng)來執(zhí)行。然而應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以使用其它技術(shù)。圖28是描述根據(jù)一個或多個實施例的、用于恢復(fù)其狀態(tài)信息已被保存的任務(wù)會話的方法中的步驟的流程圖。所述步驟可以結(jié)合任意合適的硬件、軟件、固件或其組合被執(zhí)行。在至少某些實施例中,所述方法可以由在客戶端上執(zhí)行的軟件關(guān)聯(lián)于在服務(wù)器上執(zhí)行的軟件而執(zhí)行。步驟2800接收用戶輸入,該用戶輸入關(guān)聯(lián)于恢復(fù)其狀態(tài)信息先前已被保存的任務(wù)會話。步驟2802在網(wǎng)絡(luò)應(yīng)用目錄中訪問任務(wù)會話數(shù)據(jù)結(jié)構(gòu)。如上面指出的,任務(wù)會話的狀態(tài)信息被保存在任務(wù)會話數(shù)據(jù)結(jié)構(gòu)中。步驟2804從網(wǎng)絡(luò)應(yīng)用目錄檢索任務(wù)會話狀態(tài)信息。步驟2806啟動關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用并使用從網(wǎng)絡(luò)應(yīng)用目錄檢索出的任務(wù)會話狀態(tài)信息恢復(fù)任務(wù)會話。已描述了保存和重用任務(wù)會話狀態(tài)信息的概念,現(xiàn)在考慮轉(zhuǎn)換可以如何在網(wǎng)絡(luò)應(yīng)用與瀏覽器之間被執(zhí)行。網(wǎng)絡(luò)應(yīng)用與瀏覽器之間的轉(zhuǎn)換
在一個或多個實施例中,網(wǎng)絡(luò)應(yīng)用可以轉(zhuǎn)換為瀏覽器體驗以便能夠利用瀏覽器功能,所述瀏覽器功能不可以由實現(xiàn)網(wǎng)絡(luò)應(yīng)用的網(wǎng)絡(luò)應(yīng)用模式瀏覽器提供。應(yīng)當記得,這是因為,·在某些實施例中,網(wǎng)絡(luò)應(yīng)用模式瀏覽器是使開發(fā)人員能夠提供更多站點特定體驗的經(jīng)削減或比chrome少的瀏覽器。被從網(wǎng)絡(luò)應(yīng)用模式瀏覽器中排除的所述其它功能可以例如包括收藏夾、工具欄和/或其它附加組件。在至少某些實施例中,關(guān)聯(lián)于各個標簽的內(nèi)容和狀態(tài)可以被從網(wǎng)絡(luò)應(yīng)用遷移到網(wǎng)絡(luò)瀏覽器??商鎿Q地或另外,關(guān)聯(lián)于多個標簽的內(nèi)容和狀態(tài)和/或網(wǎng)絡(luò)應(yīng)用的全部內(nèi)容和狀態(tài)可以被從網(wǎng)絡(luò)應(yīng)用遷移到網(wǎng)絡(luò)瀏覽器??商鎿Q地或另外,關(guān)聯(lián)于各個標簽的會話可以被從網(wǎng)絡(luò)應(yīng)用遷移到瀏覽器。考慮這樣的情形,其中,用戶已從其桌面啟動網(wǎng)絡(luò)應(yīng)用,已導(dǎo)航到其中,并且在新標簽中打開一個或多個鏈接。作為示例,考慮圖29。此處,桌面2900包括網(wǎng)絡(luò)應(yīng)用窗口2902,網(wǎng)絡(luò)應(yīng)用窗口 2902包括正被用于制定旅行計劃的網(wǎng)絡(luò)應(yīng)用的部分。桌面2900還包括任務(wù)欄2904,其中,網(wǎng)絡(luò)應(yīng)用例如通過在已被固定到任務(wù)欄的關(guān)聯(lián)圖標上進行點擊而從該任務(wù)欄被啟動。網(wǎng)絡(luò)應(yīng)用窗口 2902包括三個標簽2906、2908和2910。在此情況下,用戶已選擇標簽2906,并且具有用戶可以打開的鏈接“點擊這里搜索航班”?,F(xiàn)在假設(shè)用戶在關(guān)聯(lián)鏈接上進行點擊來打開該鏈接,并且,當打開鏈接時,決定她想為顯示在標簽2906中的網(wǎng)絡(luò)站點創(chuàng)建收藏夾項。在此情況下,用戶可以打開工具菜單2912,或使用某種其它用戶接口手段,并且選擇選項以便在關(guān)聯(lián)的網(wǎng)絡(luò)瀏覽器中打開標簽的內(nèi)容。作為示例,考慮圖30,該圖使用與圖29相同的數(shù)字。此處,工具菜單2912已被打開為暴露其內(nèi)容3000。在該示例中,對于用戶有兩個選擇可用一“在瀏覽器中打開標簽…”和“在瀏覽器中打開網(wǎng)絡(luò)應(yīng)用…”。第一個選擇使用戶能夠在網(wǎng)絡(luò)瀏覽器中打開所選擇標簽的內(nèi)容。當所選擇標簽在網(wǎng)絡(luò)瀏覽器中被打開時,該標簽的內(nèi)容和狀態(tài)被遷移到網(wǎng)絡(luò)瀏覽器。網(wǎng)絡(luò)瀏覽器可以是具有打開的實例的那個,或者可替換地是被啟動的那個。第二個選擇使用戶能夠在網(wǎng)絡(luò)瀏覽器中打開網(wǎng)絡(luò)應(yīng)用的全部內(nèi)容。當這被完成時,網(wǎng)絡(luò)應(yīng)用的內(nèi)容和狀態(tài)被遷移到網(wǎng)絡(luò)瀏覽器??梢允褂萌我夂线m的技術(shù)將內(nèi)容和狀態(tài)從網(wǎng)絡(luò)應(yīng)用標簽或網(wǎng)絡(luò)應(yīng)用遷移到網(wǎng)絡(luò)瀏覽器。在至少某些實施例中,遷移通過使用例如上面描述的網(wǎng)絡(luò)瀏覽器的崩潰恢復(fù)系統(tǒng)發(fā)生。特別地,當用戶指示希望將內(nèi)容和狀態(tài)從網(wǎng)絡(luò)應(yīng)用遷移到網(wǎng)絡(luò)瀏覽器時,內(nèi)容和狀態(tài)可以例如通過寫appdata文件而被寫入系統(tǒng)盤,其中,該appdata文件包括將被遷移的相關(guān)數(shù)據(jù)。
另外,在至少某些實施例中,可以使用共享存儲器來遷移通常不被網(wǎng)絡(luò)瀏覽器的崩潰恢復(fù)系統(tǒng)使用的信息或數(shù)據(jù)。例如,例如證書和會話cookie的數(shù)據(jù)可以被存儲在共享存儲器中,并且該共享存儲器可以用于使所述數(shù)據(jù)能夠被網(wǎng)絡(luò)瀏覽器使用。一旦用戶選擇顯示在工具菜單2912中的特定選項,則信息和數(shù)據(jù)可以被遷移到網(wǎng)絡(luò)瀏覽器的當前或新實例,并且網(wǎng)絡(luò)應(yīng)用窗口 2902中的關(guān)聯(lián)標簽可以被關(guān)閉。在一個或多個實施例中,如果信息或數(shù)據(jù)正被從其遷移的標簽是網(wǎng)絡(luò)應(yīng)用中打開的唯一標簽,則在遷移完成之后網(wǎng)絡(luò)應(yīng)用可以被關(guān)閉。當網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)瀏覽器跨過程邊界地在不同過程中執(zhí)行時,上面描述的方法運行良好。即,使用崩潰恢復(fù)系統(tǒng)和共享存儲器的遷移非常適合跨過程邊界。然而,在某些情況下,過程邊界不必被跨過。相反,網(wǎng)絡(luò)應(yīng)用和隨后的網(wǎng)絡(luò)瀏覽器功能可以從同一過程內(nèi)暴露。具體地,在此情況下,網(wǎng)絡(luò)瀏覽器用戶接口可以結(jié)合網(wǎng)絡(luò)應(yīng)用窗口 2902被實例化和使用,并且通過網(wǎng)絡(luò)應(yīng)用模式瀏覽器不可用的功能可以通過網(wǎng)絡(luò)瀏覽器用戶接口被打開和使其可訪問。在運行時,一種實現(xiàn)此的方法如下。網(wǎng)絡(luò)應(yīng)用首先生成一些崩潰恢復(fù)文件。新瀏覽器被啟動并從崩潰恢復(fù)文件加載崩潰恢復(fù)信息。該信息然后被用于配置新瀏覽器的狀 態(tài)。當用戶在新瀏覽器內(nèi)操作時,他或她將經(jīng)由瀏覽器的標準用戶接口具有對全部瀏覽器功能的訪問。圖31示出了一個實施例,在其中,用戶已選擇將關(guān)聯(lián)于標簽的內(nèi)容和狀態(tài)遷移到新瀏覽器實例。已使用與圖29示例相同的數(shù)字。這里,假設(shè)用戶已針對標簽2906選擇“在瀏覽器中打開標簽”菜單選擇(圖30)。作為響應(yīng),該標簽的內(nèi)容和狀態(tài)被遷移到網(wǎng)絡(luò)瀏覽器的新實例,其中,該網(wǎng)絡(luò)瀏覽器新實例的關(guān)聯(lián)用戶接口窗口在3100處示出。用戶接口窗口 3100包括地址欄3102和與已被從網(wǎng)絡(luò)應(yīng)用遷移的標簽關(guān)聯(lián)的標簽3104。在本示例中應(yīng)當指出,標簽2906 (圖30)已在網(wǎng)絡(luò)應(yīng)用窗口 2902中被關(guān)閉,但因為多個標簽是打開的,所以網(wǎng)絡(luò)應(yīng)用保持打開。圖32是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。所述步驟可以結(jié)合任意合適的硬件、軟件、固件或其組合來執(zhí)行。在至少某些實施例中,所述方法可以由在客戶端上執(zhí)行的軟件關(guān)聯(lián)于在服務(wù)器上執(zhí)行的軟件而執(zhí)行。步驟3200接收關(guān)聯(lián)于將網(wǎng)絡(luò)應(yīng)用內(nèi)容和/或狀態(tài)遷移到網(wǎng)絡(luò)瀏覽器的用戶輸入。任意合適的輸入可以被接收。例如,在至少某些實施例中,可以通過由網(wǎng)絡(luò)應(yīng)用暴露的工具菜單接收輸入。步驟3202將網(wǎng)絡(luò)應(yīng)用內(nèi)容和/或狀態(tài)遷移到網(wǎng)絡(luò)瀏覽器??梢允褂萌我夂线m的技術(shù)來遷移網(wǎng)絡(luò)應(yīng)用內(nèi)容和/或狀態(tài)。另外,處于任意合適的粒度級別的內(nèi)容和/或狀態(tài)可以被遷移。例如,關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的各個標簽或多個標簽的內(nèi)容和/或狀態(tài)可以被遷移??商鎿Q地或另外,網(wǎng)絡(luò)應(yīng)用的全部內(nèi)容可以被遷移。進一步地,在至少某些實施例中,遷移可以跨過程邊界而發(fā)生。可替換地或另外,遷移可以在同一過程內(nèi)發(fā)生。圖33是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。所述步驟可以結(jié)合任意合適的硬件、軟件、固件或自組合來執(zhí)行。在至少某些實施例中,所述方法可以由在客戶端上執(zhí)行的軟件關(guān)聯(lián)于在服務(wù)器上執(zhí)行的軟件而執(zhí)行。步驟3300接收關(guān)聯(lián)于將網(wǎng)絡(luò)應(yīng)用內(nèi)容和/或狀態(tài)遷移到網(wǎng)絡(luò)瀏覽器的用戶輸入。任意合適的輸入可以被接收。例如,在至少某些實施例中,可以通過由網(wǎng)絡(luò)應(yīng)用暴露的工具菜單接收輸入。步驟3302實例化網(wǎng)絡(luò)瀏覽器用戶接口。步驟3304使用網(wǎng)絡(luò)瀏覽器用戶接口暴露功能。暴露功能包括實現(xiàn)通過網(wǎng)絡(luò)瀏覽器用戶接口與網(wǎng)絡(luò)應(yīng)用內(nèi)容進行交互。在至少某些實施例中,所暴露的功能包括通過網(wǎng)絡(luò)應(yīng)用或網(wǎng)絡(luò)應(yīng)用模式瀏覽器不可用并且可用于與web應(yīng)用內(nèi)容進行交互的功能。上面提供了所述功能的示例。在其中網(wǎng)絡(luò)應(yīng)用內(nèi)容和/或狀態(tài)的遷移在同一過程內(nèi)發(fā)生的情況下,圖33的方法可以是有用的。圖34是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。所述步驟可以結(jié)合任意合適的硬件、軟件、固件或其組合執(zhí)行。在至少某些實施例中,所述方法可以由在客戶端上執(zhí)行的軟件關(guān)聯(lián)于在服務(wù)器上執(zhí)行的軟件而執(zhí)行。步驟3400接收關(guān)聯(lián)于將網(wǎng)絡(luò)應(yīng)用內(nèi)容和/或狀態(tài)遷移到網(wǎng)絡(luò)瀏覽器的用戶輸入。任意合適的輸入可以被接收。例如,在至少某些實施例中,可以通過由網(wǎng)絡(luò)應(yīng)用暴露的工具菜單接收輸入。步驟3402保存關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用內(nèi)容的數(shù)據(jù)。該步驟可以以任意合適的方式執(zhí)行。例如,在至少某些實施例中,數(shù)據(jù)中的至少某些可以被寫到系統(tǒng)盤??梢允褂萌我夂线m的記錄將數(shù)據(jù)寫到系統(tǒng)盤。例如,在至少某些實施例中,可以使用網(wǎng)絡(luò)瀏覽器的崩潰恢復(fù)系統(tǒng)將數(shù)據(jù)寫到系統(tǒng)盤。進一步地,在至少某些實施例中,步驟3402可以通過使用在網(wǎng)·絡(luò)應(yīng)用與網(wǎng)絡(luò)瀏覽器之間被共享的共享存儲器來執(zhí)行。步驟3404探知網(wǎng)絡(luò)瀏覽器是否是打開的。如果網(wǎng)絡(luò)瀏覽器是打開的,則步驟3406使用已保存的數(shù)據(jù)在網(wǎng)絡(luò)瀏覽器中呈現(xiàn)網(wǎng)絡(luò)應(yīng)用內(nèi)容。另一方面,如果網(wǎng)絡(luò)瀏覽器不是打開的,則步驟3408啟動網(wǎng)絡(luò)瀏覽器,并且返回至步驟3406以便使用保存的數(shù)據(jù)來呈現(xiàn)網(wǎng)絡(luò)應(yīng)用內(nèi)容。從瀏覽器創(chuàng)建暫時網(wǎng)絡(luò)應(yīng)用
各種實施例實現(xiàn)一個或多個所謂的暫時網(wǎng)絡(luò)應(yīng)用的創(chuàng)建。在至少某些實施例中,暫時網(wǎng)絡(luò)應(yīng)用可以在不如上面描述的那樣將暫時網(wǎng)絡(luò)應(yīng)用固定到任務(wù)欄或?qū)簳r網(wǎng)絡(luò)應(yīng)用的關(guān)聯(lián)文件或標記集成到客戶端桌面的情況下被創(chuàng)建。例如,暫時網(wǎng)絡(luò)應(yīng)用可以沒有任何提供使其能夠被啟動或重新啟動的方法的、集成到客戶端桌面的用戶接口手段,例如開始菜單中的快捷鍵、客戶端任務(wù)欄中的快捷鍵圖標等。然而在所述情況下,用戶可以從其關(guān)聯(lián)的網(wǎng)絡(luò)站點啟動暫時網(wǎng)絡(luò)應(yīng)用,并且如果網(wǎng)絡(luò)應(yīng)用已如上面描述那樣被安裝或集成,則用戶可以訪問由該網(wǎng)絡(luò)應(yīng)用提供的相同功能。在使用暫時網(wǎng)絡(luò)應(yīng)用之后,其可以然后被用戶關(guān)閉。在至少某些實施例中,一旦暫時網(wǎng)絡(luò)應(yīng)用已被關(guān)閉,則用戶不再可訪問網(wǎng)絡(luò)應(yīng)用的該特定示例,由此致使暫時網(wǎng)絡(luò)應(yīng)用不可從客戶端桌面工具欄或開始菜單重新啟動。一種達到此的方法是,刪除用戶初始從關(guān)聯(lián)網(wǎng)絡(luò)站點啟動網(wǎng)絡(luò)應(yīng)用時針對該網(wǎng)絡(luò)應(yīng)用創(chuàng)建的文件或過程。在某些實施例中,暫時網(wǎng)絡(luò)應(yīng)用可以被轉(zhuǎn)換為安裝的網(wǎng)絡(luò)應(yīng)用,由此提供從客戶端桌面對網(wǎng)絡(luò)應(yīng)用的未來訪問。作為示例,考慮圖35,其示出了暫時網(wǎng)絡(luò)應(yīng)用與瀏覽器之間的關(guān)系。這里,瀏覽器3500通過標簽式系統(tǒng)實現(xiàn)對多個網(wǎng)絡(luò)頁面的訪問,其中,標簽3510關(guān)聯(lián)于網(wǎng)絡(luò)站點“任意搜索頁面”,以及,標簽3520關(guān)聯(lián)于“第二打開頁面”。在一個或多個實施例中,可以從打開的網(wǎng)絡(luò)頁面創(chuàng)建暫時網(wǎng)絡(luò)應(yīng)用。在圖35中,通過用戶選擇標簽3510并將該選擇拖放到桌面上瀏覽器3500之外,生成或創(chuàng)建了暫時網(wǎng)絡(luò)應(yīng)用3530。當這發(fā)生時,暫時網(wǎng)絡(luò)應(yīng)用文件可以在臨時位置被創(chuàng)建。然而應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以以其它方式生成暫時網(wǎng)絡(luò)應(yīng)用。例如,瀏覽器3500可以具有下拉菜單,該下拉菜單用于便利網(wǎng)絡(luò)頁面的選擇以及隨后關(guān)聯(lián)的暫時網(wǎng)絡(luò)應(yīng)用的生成。在本文檔的上下文中,暫時網(wǎng)絡(luò)應(yīng)用是沒有以已在本文檔上面描述的方式安裝在客戶端系統(tǒng)上的網(wǎng)絡(luò)應(yīng)用。然而,網(wǎng)絡(luò)站點可以仍然在暫時網(wǎng)絡(luò)應(yīng)用中執(zhí)行和提供訪問與可在已安裝的網(wǎng)絡(luò)應(yīng)用中執(zhí)行的相同的功能。例如,網(wǎng)絡(luò)站點可以修改暫時網(wǎng)絡(luò)應(yīng)用的獨立跳轉(zhuǎn)列表,設(shè)置和清除覆蓋圖標等。可替換地或另外,暫時網(wǎng)絡(luò)應(yīng)用可以支持與已安裝網(wǎng)絡(luò)應(yīng)用相同的行為,例如,如上面描述的,提供從暫時網(wǎng)絡(luò)應(yīng)用內(nèi)打開的獨立標簽或窗口集
口 ο圖36示出了描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。所述方法可以結(jié)合任意合適的硬件、軟件、固件或其組合來執(zhí)行。在至少某些實施例中,方法的各方面可以由例如圖I中的客戶端設(shè)備上適當配置的網(wǎng)絡(luò)瀏覽器和/或軟件模塊實現(xiàn)。步驟3600接收對網(wǎng)絡(luò)站點的選擇,其中,網(wǎng)絡(luò)應(yīng)用可以從該網(wǎng)絡(luò)站點獲取到。這可以以任意合適的方式完成,例如通過對標簽式網(wǎng)絡(luò)瀏覽器上的標簽的選擇,通過下拉菜 單等。當接收到對網(wǎng)絡(luò)站點的選擇時,步驟3602接收創(chuàng)建網(wǎng)絡(luò)應(yīng)用作為客戶端設(shè)備上臨時網(wǎng)絡(luò)應(yīng)用的輸入。在一個或多個實施例中,這可以包括接收消息或調(diào)用,所述消息或調(diào)用包含可以用于生成網(wǎng)絡(luò)應(yīng)用的請求或其它信息。在其它實施例中,這可以包括接收由用戶拖放關(guān)聯(lián)于網(wǎng)絡(luò)站點的某個標記生成的輸入。步驟3604創(chuàng)建與所選網(wǎng)絡(luò)站點關(guān)聯(lián)的暫時網(wǎng)絡(luò)應(yīng)用。在某些實施例中,創(chuàng)建暫時網(wǎng)絡(luò)應(yīng)用生成網(wǎng)絡(luò)應(yīng)用文件和/或過程而不在客戶端的桌面或開始菜單上將其或任意關(guān)聯(lián)的標記集成。例如,關(guān)聯(lián)文件可以被保存在臨時文件位置中,所述臨時文件位置與集成的網(wǎng)絡(luò)應(yīng)用文件被放置的位置不同。另外,在至少某些實施例中,暫時網(wǎng)絡(luò)應(yīng)用的創(chuàng)建可以包括將網(wǎng)絡(luò)站點的狀態(tài)從瀏覽器傳輸?shù)綍簳r網(wǎng)絡(luò)應(yīng)用。圖37示出了描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。所述方法可以結(jié)合任意合適的硬件、軟件、固件或其組合來實現(xiàn)。在至少某些實施例中,方法的各方面可以由例如圖I中的合適配置的網(wǎng)絡(luò)瀏覽器和/或軟件模塊來實現(xiàn)。步驟3700接收關(guān)閉暫時網(wǎng)絡(luò)應(yīng)用的輸入。該步驟可以以任意合適的方式執(zhí)行。例如,在一個實施例中,這可以包括接收來自用戶選擇打開的暫時網(wǎng)絡(luò)應(yīng)用上的關(guān)閉按鈕的輸入。在另一實施例中,這可以包括接收基于用戶選擇暫時網(wǎng)絡(luò)應(yīng)用下拉菜單上的關(guān)閉選項的輸入。當接收到用于關(guān)閉暫時網(wǎng)絡(luò)應(yīng)用的輸入時,步驟3702關(guān)閉暫時網(wǎng)絡(luò)應(yīng)用。關(guān)閉暫時網(wǎng)絡(luò)應(yīng)用可以包括刪除或移除暫時網(wǎng)絡(luò)應(yīng)用的關(guān)聯(lián)文件和過程。由此,當關(guān)閉暫時網(wǎng)絡(luò)應(yīng)用時,在沒有如上面描述那樣再次訪問該暫時網(wǎng)絡(luò)應(yīng)用或如下面描述那樣將該暫時網(wǎng)絡(luò)應(yīng)用安裝為非暫時網(wǎng)絡(luò)應(yīng)用的情況下,用戶不再可訪問該暫時網(wǎng)絡(luò)應(yīng)用的功能。已描述了暫時網(wǎng)絡(luò)應(yīng)用的創(chuàng)建和刪除,現(xiàn)在考慮根據(jù)一個或多個實施例暫時網(wǎng)絡(luò)應(yīng)用可以如何被轉(zhuǎn)換為固定的或安裝的網(wǎng)絡(luò)應(yīng)用。將暫時網(wǎng)絡(luò)應(yīng)用轉(zhuǎn)換為安裝的網(wǎng)絡(luò)應(yīng)用
在一個或多個實施例中,暫時網(wǎng)絡(luò)應(yīng)用可以被轉(zhuǎn)換為安裝的或集成的網(wǎng)絡(luò)應(yīng)用以允許在網(wǎng)絡(luò)應(yīng)用已被關(guān)閉之后進行持續(xù)訪問。一旦被轉(zhuǎn)換,暫時網(wǎng)絡(luò)應(yīng)用可以被看作非暫時網(wǎng)絡(luò)應(yīng)用。圖38示出了包括跳轉(zhuǎn)列表的暫時網(wǎng)絡(luò)應(yīng)用。任務(wù)欄3800示出了客戶端設(shè)備上打開著并且正運行著的多個程序。暫時網(wǎng)絡(luò)應(yīng)用3810是源自程序3840的網(wǎng)絡(luò)應(yīng)用。暫時網(wǎng)絡(luò)應(yīng)用3810關(guān)聯(lián)著跳轉(zhuǎn)列表3820。如在安裝的或集成的網(wǎng)絡(luò)應(yīng)用的情況下一樣,跳轉(zhuǎn)列表3820具有關(guān)聯(lián)于安裝的網(wǎng)絡(luò)應(yīng)用的全部可能的功能。另外,跳轉(zhuǎn)列表3820包含命名為“將該程序固定到任務(wù)欄”的項3830。選擇該選項將網(wǎng)絡(luò)應(yīng)用固定到客戶端的任務(wù)欄,由此,如上面描述的那樣將該網(wǎng)絡(luò)應(yīng)用和關(guān)聯(lián)的用戶接口手段安裝在客戶端的桌面上。這使得現(xiàn)在的非暫時網(wǎng)絡(luò)應(yīng)用能夠從桌面被重新啟動。然而,應(yīng)當認識到和理解,在不脫離所要保護的主題的精神和范圍的情況下,可以使用任意合適的技術(shù)將暫時網(wǎng)絡(luò)應(yīng)用轉(zhuǎn)換為非暫時網(wǎng)絡(luò)應(yīng)用。例如,在某些實施例中,暫時網(wǎng)絡(luò)應(yīng)用可以被添加到客戶端桌面的開始菜單以便集成和安裝網(wǎng)絡(luò)應(yīng)用。在另一實施例中,暫時網(wǎng)絡(luò)應(yīng)用可以具有下拉菜單,該下拉菜單具有用于發(fā)起安裝過程的選項。當然,可以使用多種方式將暫時網(wǎng)絡(luò)應(yīng)用轉(zhuǎn)換為非暫時網(wǎng)絡(luò)應(yīng)用。_2] 網(wǎng)絡(luò)應(yīng)用超級主頁按鈕
當與網(wǎng)絡(luò)應(yīng)用進行交互時,用戶可能導(dǎo)航到除與關(guān)聯(lián)于網(wǎng)絡(luò)應(yīng)用的網(wǎng)絡(luò)站點直接關(guān)聯(lián)的域之外的域。例如,用戶可以發(fā)起電子郵件網(wǎng)絡(luò)應(yīng)用,并且通過跟隨外部鏈接到達例如新聞、購物或娛樂站點的另一站點。在一個或多個實施例中,作為用戶接口體驗的一部分提供網(wǎng)絡(luò)應(yīng)用主頁按鈕。網(wǎng)·絡(luò)應(yīng)用主頁按鈕用于幾個目的。第一,網(wǎng)絡(luò)應(yīng)用主頁按鈕指示特定網(wǎng)絡(luò)應(yīng)用模式瀏覽器(也稱為“站點模式瀏覽器”)實例的目的是用于關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用。網(wǎng)絡(luò)應(yīng)用主頁按鈕可以使用品牌化(branding)和其它可視化手段來傳播該信息。第二,網(wǎng)絡(luò)應(yīng)用主頁按鈕使用戶能夠通過簡單地在網(wǎng)絡(luò)應(yīng)用主頁按鈕上進行點擊以訪問起始URL而快速和容易地開始回到其網(wǎng)絡(luò)應(yīng)用體驗的起始。這減輕了為訪問關(guān)聯(lián)站點的起始URL而必須關(guān)閉并重啟特定網(wǎng)絡(luò)應(yīng)用的負擔。在至少某些實施例中,默認地,從用戶從其在任務(wù)欄上拖放收藏圖標的頁面探知關(guān)聯(lián)于起始URL的值??商鎿Q地,網(wǎng)絡(luò)開發(fā)人員可以將描述起始URL的HTML標簽定義為其頁面的一部分。這允許其定義與其當前正查看的頁面不同的可替換起始URL。作為示例,考慮圖39。此處,網(wǎng)絡(luò)應(yīng)用模式瀏覽器3900包括地址欄3902,其中,網(wǎng)絡(luò)站點的URL出現(xiàn)在該地址欄中。另外,網(wǎng)絡(luò)應(yīng)用主頁按鈕3904出現(xiàn)在后退和前進導(dǎo)航按鈕附近。當用戶導(dǎo)航到與網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的網(wǎng)絡(luò)站點之外的域時,其可以在任意時間簡單地在網(wǎng)絡(luò)應(yīng)用主頁按鈕3904上進行點擊以導(dǎo)航到如網(wǎng)絡(luò)應(yīng)用文件中描述的網(wǎng)絡(luò)站點的起始URL。進一步地,在至少某些實施例中,并且為了向用戶傳遞導(dǎo)航的后退和前進按鈕在網(wǎng)絡(luò)應(yīng)用而不是默認瀏覽器中的上下文,該導(dǎo)航的后退和前進按鈕可以通過經(jīng)由網(wǎng)絡(luò)應(yīng)用主頁按鈕利用或提取站點品牌的主要顏色來呈現(xiàn)網(wǎng)絡(luò)站點的身份。另外,可以使用HTML標簽來使網(wǎng)絡(luò)站點能夠指定這些按鈕的顏色以作為網(wǎng)絡(luò)站點的HTML頁面的一部分。圖40是描述根據(jù)一個或多個實施例的方法中的步驟的流程圖。所述方法可以結(jié)合任意合適的硬件、軟件、固件或其組合實現(xiàn)。在至少某些實施例中,所述方法可以由例如上面描述的那樣站點模式瀏覽器實現(xiàn)。步驟4000將站點模式瀏覽器導(dǎo)航到與安裝在客戶端設(shè)備上的網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的網(wǎng)絡(luò)站點起始URL。該步驟可以以任意合適的方式執(zhí)行,上面提供了其示例。步驟4002導(dǎo)航到不同的網(wǎng)絡(luò)頁面。該網(wǎng)絡(luò)頁面可以或可以不與關(guān)聯(lián)于起始URL的網(wǎng)絡(luò)站點關(guān)聯(lián)。步驟4004接收對網(wǎng)絡(luò)應(yīng)用主頁按鈕的選擇。響應(yīng)于接收到對網(wǎng)絡(luò)應(yīng)用主頁按鈕的選擇,步驟4006將站點模式瀏覽器導(dǎo)航到網(wǎng)絡(luò)站點起始URL。示例系統(tǒng)圖41示出了可以用于實現(xiàn)上面描述的各種實施例的示例性計算設(shè)備4100。計算設(shè)備4100可以例如是圖I的計算設(shè)備102或任意其它合適的計算設(shè)備。計算設(shè)備4100包括一個或多個處理器或處理單元4102、一個或多個存儲器和/或存儲部件4104、一個或多個輸入/輸出(I/O)設(shè)備4106和允許各種部件和設(shè)備相互進行通信的總線4108。總線4108代表任意幾種類型的總線結(jié)構(gòu)中的一個或多個,包括存儲器總線或存儲器控制器、外圍總線、加速圖形端口以及使用任意各種總線體系結(jié)構(gòu)的處理器或局部總線??偩€4108可以包括有線和/或無線總線。存儲器/存儲部件4104代表一個或多個計算機存儲介質(zhì)。部件4104可以包括易失性介質(zhì)(例如隨機訪問存儲器(RAM))和/或非易失性介質(zhì)(例如只讀存儲器(ROM)、閃存、光盤、磁盤等)。部件4104可以包括固定介質(zhì)(例如RAM、R0M、固定硬盤驅(qū)動器等)以及可移除介質(zhì)(例如閃存驅(qū)動器、可移除硬盤驅(qū)動器、光盤等)。
一個或多個輸入/輸出設(shè)備4106允許用戶向計算設(shè)備4100輸入命令和信息,并且還允許信息被呈現(xiàn)給用戶和/或其它部件或設(shè)備。輸入設(shè)備的示例包括鍵盤、光標控制設(shè)備(例如鼠標)、麥克風(fēng)、掃描儀等。輸出設(shè)備的示例包括顯示設(shè)備(例如監(jiān)視器或投影儀)、揚聲器、打印機、網(wǎng)卡等。在軟件或程序模塊的一般上下文中,在本文中可以描述各種技術(shù)。大體上,軟件包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。這些模塊和技術(shù)的實現(xiàn)可以被存儲在某種形式的計算機可讀介質(zhì)中或通過其被發(fā)送。計算機可讀介質(zhì)可以是可被計算設(shè)備訪問的任意可用的媒介或介質(zhì)。作為示例并且不作為限制,計算機可讀介質(zhì)可以包括“計算機可讀存儲介質(zhì)”?!坝嬎銠C可讀存儲介質(zhì)”包括以用于存儲例如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)的信息的任意方法或技術(shù)實現(xiàn)的易失性和非易失性、可移除和非可移除介質(zhì)。計算機可讀存儲介質(zhì)包括但不限于RAM、ROM、EEPR0M、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光學(xué)存儲、磁盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或任意其它可用于存儲期望的信息且可被計算機訪問的媒介。
各種實施例提供允許終端用戶將網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)站點安裝到其桌面上的機制。根據(jù)一個或多個實施例,客戶端代碼可以用于允許與網(wǎng)絡(luò)站點關(guān)聯(lián)的開發(fā)人員定義與用戶交互關(guān)聯(lián)的邊界,并且使那些邊界被運行時引擎施行。在至少某些實施例中,開發(fā)人員可以通過JavaScript代碼提供用于開始菜單快捷鍵創(chuàng)建、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成以及各種其它功能的各種配置。盡管已用特定于結(jié)構(gòu)化特征和/或方法行為的語言描述了主題,但應(yīng)當理解,在所附權(quán)利要求中定義的主題不必限于上面描述的特定特征或行為。相反,上面描述的特定特征和行為作為實現(xiàn)權(quán)利要求的示例形式被公開。
權(quán)利要求
1.一種計算機實現(xiàn)的方法,其包括 在客戶端設(shè)備處接收對網(wǎng)絡(luò)站點集成特征的選擇; 代表關(guān)聯(lián)的網(wǎng)絡(luò)站點發(fā)起網(wǎng)絡(luò)應(yīng)用安裝過程,其中,發(fā)起所述網(wǎng)絡(luò)應(yīng)用安裝過程導(dǎo)致網(wǎng)絡(luò)應(yīng)用文件在所述客戶端設(shè)備上被創(chuàng)建;以及 用網(wǎng)絡(luò)應(yīng)用內(nèi)容填充所述網(wǎng)絡(luò)應(yīng)用文件,所述網(wǎng)絡(luò)應(yīng)用內(nèi)容包括列表,所述列表構(gòu)成被配置呈現(xiàn)給用戶的一組相關(guān)任務(wù)或內(nèi)容,其中,所述列表定義可以被所述網(wǎng)絡(luò)站點動態(tài)更新的一個或多個動態(tài)元素。
2.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,使用JavaScript來執(zhí)行所述填充,其中,JavaScript定義出現(xiàn)在所述列表中的一個或多個靜態(tài)元素。
3.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,一個或多個動態(tài)元素包括動態(tài)地為用戶暴露可識別標記的設(shè)置。
4.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,一個或多個動態(tài)元素包括動態(tài)地為用戶暴露可識別標記的設(shè)置,以及其中,所述可識別標記包括視覺可識別標記。
5.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,所述動態(tài)元素被配置為當所述網(wǎng)絡(luò)應(yīng)用正在所述客戶端設(shè)備上運行時被更新。
6.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,至少某些動態(tài)元素被配置為經(jīng)由任務(wù)欄通知被更新。
7.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,至少某些動態(tài)元素被配置為經(jīng)由任務(wù)欄通知被更新,以及其中,至少一個任務(wù)欄通知包括出現(xiàn)在與所述網(wǎng)絡(luò)應(yīng)用關(guān)聯(lián)的圖標上的可呈現(xiàn)覆蓋圖標。
8.根據(jù)權(quán)利要求I的計算機實現(xiàn)的方法,其中,所述動態(tài)元素的至少一個包括可響應(yīng)于用戶動作呈現(xiàn)的預(yù)覽窗口。
9.一個或多個包含計算機可讀指令的計算機可讀存儲介質(zhì),其中,所述計算機可讀指令當被執(zhí)行時實現(xiàn)一種方法,所述方法包括 從網(wǎng)絡(luò)站點接收與動態(tài)跳轉(zhuǎn)列表項關(guān)聯(lián)的通知,其中,所述動態(tài)跳轉(zhuǎn)列表項與由所述網(wǎng)絡(luò)站點定義的跳轉(zhuǎn)列表相關(guān)聯(lián),并且與被集成在客戶端設(shè)備上的網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián); 響應(yīng)于接收到所述通知,為用戶提供可識別的通知。
10.根據(jù)權(quán)利要求9的一個或多個計算機可讀存儲介質(zhì),其中,至少部分上經(jīng)由JavaScript來執(zhí)行所述接收。
11.根據(jù)權(quán)利要求9的一個或多個計算機可讀存儲介質(zhì),其中,所述跳轉(zhuǎn)列表包括一個或多個靜態(tài)元素。
12.根據(jù)權(quán)利要求9的一個或多個計算機可讀存儲介質(zhì),其中,所述跳轉(zhuǎn)列表于在所述客戶端設(shè)備上創(chuàng)建并且與所述網(wǎng)絡(luò)站點關(guān)聯(lián)的網(wǎng)絡(luò)應(yīng)用文件中被定義,以及其中,所述網(wǎng)絡(luò)應(yīng)用文件包括起始URL、由所述網(wǎng)絡(luò)站點指定的一個或多個導(dǎo)航域、網(wǎng)絡(luò)應(yīng)用標題和收藏圖標。
13.根據(jù)權(quán)利要求9的一個或多個計算機可讀存儲介質(zhì),其中,所述通知起這樣的作用導(dǎo)致任務(wù)欄覆蓋圖標在與所述網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián)的任務(wù)欄圖標上被渲染。
14.根據(jù)權(quán)利要求9的一個或多個計算機可讀存儲介質(zhì),其中,所述跳轉(zhuǎn)列表進一步定義采用可響應(yīng)于用戶動作呈現(xiàn)的預(yù)覽窗口的形式的動態(tài)跳轉(zhuǎn)列表項。
15.—種計算機實現(xiàn)的方法,其包括 從網(wǎng)絡(luò)站點接收與動態(tài)跳轉(zhuǎn)列表項關(guān)聯(lián)的通知,其中,所述動態(tài)跳轉(zhuǎn)列表項與由所述網(wǎng)絡(luò)站點定義的跳轉(zhuǎn)列表相關(guān)聯(lián),并且與被集成在客戶端設(shè)備上的網(wǎng)絡(luò)應(yīng)用相關(guān)聯(lián);以及響應(yīng)于接收到所述通知,為用戶提供可識別的通知,其中,至少部分上通過導(dǎo)致覆蓋圖標被可識別地渲染給用戶來執(zhí)行所述提供。
全文摘要
各種實施例提供一種允許終端用戶將網(wǎng)絡(luò)應(yīng)用和網(wǎng)絡(luò)站點安裝到他們的桌面上的機制。根據(jù)一個或多個實施例,可以使用客戶端代碼來允許與網(wǎng)絡(luò)站點關(guān)聯(lián)的開發(fā)人員定義與用戶交互關(guān)聯(lián)的邊界,并且使那些邊界被運行時引擎施行。在至少某些實施例中,開發(fā)人員可以通過JavaScript代碼和/或HTML標記提供用于開始菜單快捷鍵創(chuàng)建、導(dǎo)航和所謂的跳轉(zhuǎn)列表集成的各種配置。
文檔編號G06F9/445GK102918502SQ201180028811
公開日2013年2月6日 申請日期2011年5月31日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者I.希勒里奧, M.B.帕頓, P.H.樂, J.M.波西, K.M.楊拉, C.楊, A.H.馬列克, B.A.摩根, J.E.戴維斯, M.賈伯 申請人:微軟公司