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