專(zhuān)利名稱(chēng):Web應(yīng)用轉(zhuǎn)換和暫時(shí)性web應(yīng)用的制作方法
WEB應(yīng)用轉(zhuǎn)換和暫時(shí)性WEB應(yīng)用背景技術(shù)
近來(lái),業(yè)界已經(jīng)開(kāi)始關(guān)注于將web應(yīng)用或網(wǎng)站與用戶(hù)的計(jì)算機(jī)桌面環(huán)境或“桌面” 整合在一起的概念。然而,與之相關(guān)的挑戰(zhàn)也是存在的。例如,對(duì)于網(wǎng)站而言,現(xiàn)今很難為了桌面整合的目的來(lái)定義它們的站點(diǎn)的邊界。由此,所述邊界交由終端用戶(hù)通過(guò)他們自己開(kāi)發(fā)的客戶(hù)端腳本去定義。由于終端用戶(hù)未必知道如何構(gòu)造特定網(wǎng)站,因此,這樣做有可能會(huì)存在問(wèn)題。舉個(gè)例子,終端用戶(hù)未必知道網(wǎng)站用以向用戶(hù)提供功能的web屬性之間的所有聯(lián)系、關(guān)聯(lián)或者其他細(xì)微差別。相應(yīng)地,終端用戶(hù)的腳本未必了解這些聯(lián)系或細(xì)微差別, 由此可能導(dǎo)致產(chǎn)生非預(yù)期或破損的用戶(hù)體驗(yàn)。
此外,用戶(hù)現(xiàn)今還面臨著所謂的雙重導(dǎo)入(boot)問(wèn)題。特別地,用戶(hù)不得不導(dǎo)入其個(gè)人計(jì)算機(jī),開(kāi)啟其瀏覽器,以及最終啟動(dòng)其希望工作時(shí)所處的特定web應(yīng)用。這個(gè)問(wèn)題因?yàn)槿缦率聦?shí)而變得更嚴(yán)重瀏覽器能夠?yàn)橛脩?hù)提供過(guò)多分散注意力的事物(例如在瀏覽器的系統(tǒng)窗口控件(chrome)中出現(xiàn)的那些)以及不允許用戶(hù)只專(zhuān)注于手頭與web應(yīng)用相關(guān)聯(lián)的特定任務(wù)。發(fā)明內(nèi)容
本發(fā)明內(nèi)容部分是為了以簡(jiǎn)化形式引入精選概念而被提供的,在以下的具體實(shí)施方式
部分中將會(huì)進(jìn)一步描述這些概念。本發(fā)明內(nèi)容部分的目的既不是確定被請(qǐng)求保護(hù)的主題的關(guān)鍵特征或必要特征,也不是用于限制被請(qǐng)求保護(hù)的主題的范圍。
不同的實(shí)施例提供了一種允許終端用戶(hù)在客戶(hù)機(jī)設(shè)備桌面之類(lèi)的客戶(hù)機(jī)設(shè)備上安裝web應(yīng)用和網(wǎng)站的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以使用客戶(hù)端代碼以允許與網(wǎng)站相關(guān)聯(lián)的開(kāi)發(fā)人員定義與用戶(hù)交互相關(guān)聯(lián)的邊界,以及讓運(yùn)行時(shí)引擎(run-time engine) 來(lái)實(shí)施(enforce)這些邊界。在至少一些實(shí)施例中,開(kāi)發(fā)人員可以通過(guò)JavaScript代碼來(lái)提供各種配置,用于創(chuàng)建開(kāi)始菜單快捷方式、導(dǎo)航和所謂的跳轉(zhuǎn)列表(jumplist)整合以及多個(gè)其他特征。
在整個(gè)附圖中,相同特征是用相同數(shù)字標(biāo)引的。
圖I圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的可以使用這里描述的不同原理的操作環(huán)境。
圖2圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用窗口。
圖3圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。
圖4是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖5是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用交互方法中的步驟的流程圖。
圖6圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面的一部分。
圖7圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。
圖8圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例在網(wǎng)站與定制(custom)跳轉(zhuǎn)列表之間進(jìn)行的動(dòng)態(tài)交互。CN 102947792 A書(shū)明說(shuō)2/23 頁(yè)
圖9圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面的一部分。
圖10圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面的一部分。
圖11是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖12是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法的步驟的流程圖。
圖13是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖14圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖15用圖解法圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的拖放(drag and drop)操作。
圖16是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖17圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖18是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。
圖19圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面?!?br>
圖20是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖21圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖22圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的顯示網(wǎng)站的瀏覽器、證書(shū)存儲(chǔ)器、相關(guān)聯(lián)的web應(yīng)用以及web應(yīng)用證書(shū)存儲(chǔ)器之間的關(guān)系。
圖23是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖24是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖25圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的多個(gè)web應(yīng)用實(shí)例的示例。
圖26圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖27是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖28是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖29圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖30圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖31圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的客戶(hù)機(jī)桌面。
圖32是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖33是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖34是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖35圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用與瀏覽器之間的關(guān)系。
圖36是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖37是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖38圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的暫時(shí)性(transient) web應(yīng)用的示例。
圖39圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的站點(diǎn)模式瀏覽器。
圖40是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。
圖41圖示了可用于實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的例示系統(tǒng)。
具體實(shí)施方式
綜沭不同實(shí)施例提供了一種允許終端用戶(hù)在諸如客戶(hù)機(jī)設(shè)備桌面之類(lèi)的客戶(hù)機(jī)設(shè)備上安裝web應(yīng)用和網(wǎng)站的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以使用客戶(hù)端代碼以允許與網(wǎng)站相4關(guān)聯(lián)的開(kāi)發(fā)人員定義與用戶(hù)交互相關(guān)聯(lián)的邊界,并且讓運(yùn)行時(shí)引擎來(lái)實(shí)施這些邊界。在至少一些實(shí)施例中,開(kāi)發(fā)人員可以通過(guò)JavaScript代碼來(lái)提供各種配置,以用于創(chuàng)建開(kāi)始菜單快捷方式,導(dǎo)航和所謂的跳轉(zhuǎn)列表整合,以及其他特征。
邊界可被看作是由開(kāi)發(fā)人員定義的與如何將功能暴露給終端用戶(hù)相關(guān)的體驗(yàn)。邊界與網(wǎng)站域是關(guān)聯(lián)的,其中舉例來(lái)說(shuō),所述網(wǎng)站域可以是可以與單獨(dú)應(yīng)用相關(guān)聯(lián)的頂級(jí)域和子域,或者是在域上托管(host)的網(wǎng)站子集。由此,所述邊界可以由一組用以讓特定web 應(yīng)用工作的域、子域、文件夾、子站、協(xié)議、主機(jī)、路徑等等來(lái)定義。
在一個(gè)或多個(gè)實(shí)施例中,網(wǎng)站可以選擇如上和如下所述的功能。在這種情況下,開(kāi)發(fā)人員可以提供定義了用戶(hù)使用其網(wǎng)站的體驗(yàn)的邊界的代碼,其中在一些實(shí)例中,所述代碼是用JavaScript表述的。作為替換或補(bǔ)充,未選擇如上和如下所述的功能的網(wǎng)站可以具有為其提供的默認(rèn)體驗(yàn)。
在后續(xù)論述中提供了標(biāo)題為“操作環(huán)境”的部分,所述部分描述了其中可以使用一個(gè)或多個(gè)實(shí)施例的一個(gè)環(huán)境。此后,標(biāo)題為“整合基礎(chǔ)結(jié)構(gòu)”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)使得web應(yīng)用能夠被整合到客戶(hù)機(jī)設(shè)備中的基礎(chǔ)結(jié)構(gòu)。接著,標(biāo)題為“跳轉(zhuǎn)列表整合”的部分描述了如何可以根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)整合所謂的跳轉(zhuǎn)列表。接下來(lái),標(biāo)題為 “任務(wù)欄固定(pin)”的部分描述了如何可以根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)將web應(yīng)用固定在任務(wù)欄上。此后,標(biāo)題為“關(guān)聯(lián)證書(shū)和登錄會(huì)話”的部分描述了如何可以根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)關(guān)聯(lián)證書(shū)和登錄會(huì)話。接著,標(biāo)題為“創(chuàng)建和啟動(dòng)具有相關(guān)聯(lián)的證書(shū)的web應(yīng)用”的部分描述了如何可以根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)創(chuàng)建和啟動(dòng)web應(yīng)用。此后,標(biāo)題為“web應(yīng)用任務(wù)會(huì)話”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的任務(wù)會(huì)話的概念。接著,標(biāo)題為“web應(yīng)用與瀏覽器之間的轉(zhuǎn)換”的部分描述了如何可以根據(jù)一個(gè)或多個(gè)實(shí)施例而在web應(yīng)用與瀏覽器之間進(jìn)行轉(zhuǎn)換。此后,標(biāo)題為“從瀏覽器中創(chuàng)建暫時(shí)性web應(yīng)用”的部分描述了如何根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)從瀏覽器中創(chuàng)建暫時(shí)性的web應(yīng)用。接著,標(biāo)題為“將暫時(shí)性web應(yīng)用變換成所安裝的web應(yīng)用”的部分描述了如何根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)將暫時(shí)性web應(yīng)用變換成所安裝的web應(yīng)用。此后,標(biāo)題為“web應(yīng)用超級(jí)主頁(yè)按鈕”的部分描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的與web應(yīng)用相關(guān)聯(lián)的主頁(yè)按鈕。最后,標(biāo)題為“例示系統(tǒng)”的部分描述了可以用于實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的例示系統(tǒng)。
現(xiàn)在將要考慮其中可以實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的例示操作環(huán)境。
操作環(huán)境圖I 一般性地在100圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的操作環(huán)境。環(huán)境100包括具有一個(gè)或多個(gè)處理器104、一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體106以及一個(gè)或多個(gè)應(yīng)用108的計(jì)算設(shè)備102,其中所述一個(gè)或多個(gè)應(yīng)用108駐留在計(jì)算機(jī)可讀存儲(chǔ)媒體上,并且可以由一個(gè)或多個(gè)處理器運(yùn)行。作為示例而不是限制,計(jì)算機(jī)可讀存儲(chǔ)媒體可以包括通常與計(jì)算設(shè)備相關(guān)聯(lián)的所有形式的易失和非易失存儲(chǔ)器和/或存儲(chǔ)媒體。此類(lèi)媒體可以包括ROM、RAM、閃存、硬盤(pán)、可移除媒體等等。以下在圖41中顯示并描述了計(jì)算設(shè)備的一個(gè)具體示例。
此外,計(jì)算設(shè)備102包括采用web瀏覽器110的形式的軟件應(yīng)用??梢允褂萌魏芜m當(dāng)?shù)膚eb瀏覽器,瀏覽器的示例可以從本文檔的受讓人以及其他各方得到。此外,計(jì)算機(jī)可讀存儲(chǔ)媒體106可以包括采用如上和如下所述的方式工作的web應(yīng)用模式瀏覽器111。 所述web應(yīng)用模式瀏覽器111充當(dāng)運(yùn)行時(shí)引擎,其中所述引擎分別接收和產(chǎn)生來(lái)自和去往網(wǎng)站的API調(diào)用,監(jiān)督web應(yīng)用安裝過(guò)程,實(shí)施邊界以及使能如上和如下所述的功能。在操作中,web應(yīng)用模式瀏覽器是關(guān)閉了很多正常瀏覽器功能的完整瀏覽器的消減版本。在一些實(shí)例中,web應(yīng)用模式瀏覽器可被看作是不包含眾多常見(jiàn)的瀏覽器控件的“無(wú)系統(tǒng)窗口控件(chrome-less)”瀏覽器。但是,一些命令可以通過(guò)微型控制條來(lái)暴露。由此,web應(yīng)用模式瀏覽器移除了眾多會(huì)使用戶(hù)分心的事物,并且允許有管理的、網(wǎng)站定義的用戶(hù)體驗(yàn),其中,網(wǎng)站可以對(duì)用戶(hù)如何與其web應(yīng)用交互進(jìn)行控制。
在操作中,web應(yīng)用模式瀏覽器在邏輯上可被視為駐留在網(wǎng)站與客戶(hù)機(jī)設(shè)備的操作系統(tǒng)之間。由此,web應(yīng)用模式瀏覽器接收來(lái)自網(wǎng)站的調(diào)用并且作為響應(yīng)可以產(chǎn)生操作系統(tǒng)調(diào)用,從而影響這里描述的功能。同樣,web應(yīng)用模式瀏覽器可以接收來(lái)自操作系統(tǒng)的且影響網(wǎng)站功能的調(diào)用。例如,操作系統(tǒng)暴露了使得能夠與桌面任務(wù)欄進(jìn)行交互的API。Web 應(yīng)用模式瀏覽器可以接收來(lái)自網(wǎng)站的調(diào)用,作為響應(yīng),所述瀏覽器可以產(chǎn)生使能任務(wù)欄功能的API調(diào)用,這一點(diǎn)將會(huì)從下文中清楚了解。
Web應(yīng)用模式瀏覽器111可以作為獨(dú)立組件來(lái)實(shí)現(xiàn)。作為替換或補(bǔ)充,Web應(yīng)用模式瀏覽器111也可以作為應(yīng)用108和/或?yàn)g覽器110的一部分來(lái)實(shí)現(xiàn)。
此外,環(huán)境100包含諸如因特網(wǎng)之類(lèi)的網(wǎng)絡(luò)112以及可從其接收和向其發(fā)送內(nèi)容的一個(gè)或多個(gè)網(wǎng)站114。如上文和下文所述,這些內(nèi)容可以包括整合在客戶(hù)機(jī)桌面中或以其它方式可以通過(guò)客戶(hù)機(jī)設(shè)備使用的內(nèi)容,例如web應(yīng)用。
計(jì)算設(shè)備102可以作為任何適當(dāng)?shù)挠?jì)算設(shè)備來(lái)實(shí)施,作為示例而不是限制,所述適當(dāng)?shù)挠?jì)算設(shè)備可以是臺(tái)式計(jì)算機(jī)、便攜式計(jì)算機(jī)、諸如個(gè)人數(shù)字助理(PDA)之類(lèi)的手持式計(jì)算機(jī)、手機(jī)等等。
已經(jīng)描述了例示操作環(huán)境,現(xiàn)在考慮論述一種允許將web應(yīng)用整合到客戶(hù)機(jī)設(shè)備中的基礎(chǔ)結(jié)構(gòu)。
整合基礎(chǔ)結(jié)構(gòu)根據(jù)一個(gè)或多個(gè)實(shí)施例,網(wǎng)站可以選擇作為更一般的“站點(diǎn)模式”體驗(yàn)的一部分提供的域?qū)Ш健T谟脩?hù)訪問(wèn)處于特定域內(nèi)部或外部的鏈接時(shí),域?qū)Ш绞沟镁W(wǎng)站能夠定制他們已有網(wǎng)站的行為。在訪問(wèn)開(kāi)發(fā)人員所規(guī)定的邊界內(nèi)部的鏈接時(shí),內(nèi)容可以在作為相關(guān)聯(lián)的web 應(yīng)用的一部分由Web應(yīng)用模式瀏覽器再現(xiàn)的web應(yīng)用窗口內(nèi)部被再現(xiàn)和消費(fèi)。在訪問(wèn)開(kāi)發(fā)人員規(guī)定的邊界以外的鏈接時(shí),相關(guān)聯(lián)的內(nèi)容可以在Web應(yīng)用模式瀏覽器外部的默認(rèn)瀏覽器的內(nèi)部被再現(xiàn)和消費(fèi)。這樣做允許網(wǎng)站定義應(yīng)該將什么域視為網(wǎng)站擴(kuò)展以及哪些不應(yīng)該。
在一個(gè)或多個(gè)實(shí)施例中,導(dǎo)航域可以由web開(kāi)發(fā)人員定義,并且所述導(dǎo)航域識(shí)別鏈接,其中所述鏈接的內(nèi)容是由Web應(yīng)用模式瀏覽器作為整合網(wǎng)站的一部分顯示的,或者是在web應(yīng)用模式瀏覽器以外在默認(rèn)瀏覽器中顯示的。此外,還可以定義用于將web應(yīng)用頁(yè)面的集合關(guān)聯(lián)在一起的默認(rèn)域參數(shù)。
作為示例,設(shè)想以下的單行(in-line)域頁(yè)面定義^contoso. crm. dynamics. com\木;木.microsoft. com\木;
這個(gè)域頁(yè)面定義將會(huì)允許在相同的桌面web應(yīng)用窗口中顯示以下形式的URI sales, contoso. crm. dynamics. com\*hr. contoso. crm. dynamics\*木· microsoft. com\crm\
同樣,即使鏈接引用處于桌面web應(yīng)用窗口內(nèi)的頁(yè)面內(nèi)部,所述域頁(yè)面定義也會(huì)迫使其他URI顯示在桌面web應(yīng)用窗口之外www. bing. com home. live, com
在以上的域頁(yè)面定義中,在web應(yīng)用安裝API內(nèi)部使用了通配符。該API通常是在用戶(hù)選擇網(wǎng)站提供的網(wǎng)站整合鏈接的時(shí)候由網(wǎng)站調(diào)用的。所述API可以使用桌面、任務(wù)欄、 開(kāi)始菜單或是將被用來(lái)啟動(dòng)網(wǎng)站快捷方式的其他任何適當(dāng)位置的信息和內(nèi)容來(lái)填充web 應(yīng)用文件或webapp”文件。應(yīng)該意識(shí)到和理解的是,任何適當(dāng)?shù)奈募U(kuò)展均可用于指示 web應(yīng)用文件。導(dǎo)航域和其他邊界信息被保存在.webapp文件內(nèi)。
在啟動(dòng).webapp文件時(shí),該文件內(nèi)部的導(dǎo)航域?qū)?huì)由Web應(yīng)用模式瀏覽器111實(shí)施。用戶(hù)選擇或網(wǎng)站訪問(wèn)的鏈接繼續(xù)在web應(yīng)用窗口內(nèi)部運(yùn)行,只要它們與通配符域匹配。 然而,在檢測(cè)到處于定義的導(dǎo)航域以外的網(wǎng)站時(shí),將會(huì)實(shí)例化或者以其他方式使用默認(rèn)瀏覽器,并且與該網(wǎng)站相關(guān)聯(lián)的內(nèi)容將會(huì)顯示在web應(yīng)用窗口以外以及默認(rèn)瀏覽器內(nèi)部。
作為示例,對(duì)圖2進(jìn)行考慮,該示了具有由a. com(202)、b. com(204)和d. com(206)組成的導(dǎo)航域集合的web應(yīng)用窗口 200,這意味著來(lái)自這些域的所有頁(yè)面全都在web 應(yīng)用窗口 200內(nèi)部顯示。在從web應(yīng)用窗口 200內(nèi)部訪問(wèn)來(lái)自c. com(208)或e. com(210) 的頁(yè)面時(shí),這些頁(yè)面會(huì)在默認(rèn)的瀏覽器窗口而不是web應(yīng)用窗口 200中顯示。
圖3在300圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。所示出的 JavaScript API使得網(wǎng)站能夠?qū)eb應(yīng)用與客戶(hù)機(jī)桌面相整合。該API定義了將由web應(yīng)用或運(yùn)行時(shí)引擎實(shí)施的導(dǎo)航域。在本示例中,導(dǎo)航域是用如上所示的通配符表述來(lái)進(jìn)行描述的。所述API使得能夠使用客戶(hù)機(jī)設(shè)備上的內(nèi)容和信息來(lái)填充或更新.webapp應(yīng)用文件 302,以及在所述文件中存儲(chǔ)導(dǎo)航域和其他信息。這些導(dǎo)航域是在啟動(dòng)web應(yīng)用的時(shí)候?qū)嵤┑摹?br>
在所示出和描述的實(shí)施例中,.webapp應(yīng)用文件302包括網(wǎng)站為其站點(diǎn)模式配置定義的信息。該信息包括開(kāi)始URL、網(wǎng)站規(guī)定的所有導(dǎo)航域、web應(yīng)用標(biāo)題以及所謂的網(wǎng)站圖標(biāo)(favicon),其中所述開(kāi)始URL是web應(yīng)用模式瀏覽器顯示的初始頁(yè)面。如下所述,其他信息也是可以包含的。
現(xiàn)在,一旦在客戶(hù)端啟動(dòng)web應(yīng)用,則Web應(yīng)用模式瀏覽器將會(huì)讀取web應(yīng)用文件,并且將會(huì)實(shí)施其中定義的邊界。如上所指出的,由于web應(yīng)用體驗(yàn)是由能夠知道特定網(wǎng)站及其細(xì)微差別的開(kāi)發(fā)人員定義的,因此可以提供完整和整合的用戶(hù)體驗(yàn)。
圖4是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布④浖?、固件或是其組合執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由客戶(hù)機(jī)設(shè)備上運(yùn)行的軟件執(zhí)行的。
步驟400選擇網(wǎng)站整合特征。該步驟可以用任何適當(dāng)?shù)姆绞綀?zhí)行。通常,所述步驟是在用戶(hù)選擇某種工具或以其它方式來(lái)采取動(dòng)作來(lái)啟動(dòng)web應(yīng)用安裝過(guò)程的時(shí)候執(zhí)行的。 例如,用戶(hù)可以選擇使得他能夠整合web應(yīng)用的鏈接。以下提供了如何做到這一點(diǎn)的具體示例。
步驟402在客戶(hù)機(jī)設(shè)備上創(chuàng)建一個(gè)在這里被標(biāo)明為webapp”文件的web應(yīng)用文件。這個(gè)初始創(chuàng)建的文件可以構(gòu)成一個(gè)隨后用接收自網(wǎng)站或是代表網(wǎng)站接收的內(nèi)容和信息填充的人工制品(artifact)或外殼(shell)。步驟404使用web應(yīng)用內(nèi)容來(lái)填充web應(yīng)用文件。該步驟可以用任何適當(dāng)?shù)姆绞絹?lái)執(zhí)行。例如,該步驟可以通過(guò)使用在上文和下文中提供了示例的JavaScript API來(lái)執(zhí)行。作為替換或補(bǔ)充,該步驟可以通過(guò)使用HTML之類(lèi)的標(biāo)記(markup )來(lái)執(zhí)行。
如果在客戶(hù)機(jī)上創(chuàng)建了 web應(yīng)用文件并且使用內(nèi)容填充了該文件,那么現(xiàn)在可以啟動(dòng)web應(yīng)用并與之交互。
圖5是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的web應(yīng)用交互方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由在客戶(hù)機(jī)上運(yùn)行的軟件以及在支持網(wǎng)站的服務(wù)器上運(yùn)行的軟件執(zhí)行的。 相應(yīng)地,該圖的一列被標(biāo)明為“客戶(hù)機(jī)”,以便標(biāo)明這些步驟由客戶(hù)機(jī)執(zhí)行或是在客戶(hù)機(jī)上由例如web應(yīng)用模式瀏覽器執(zhí)行,此外還有一列被標(biāo)明為“網(wǎng)站”,以便標(biāo)明這些步驟由網(wǎng)站執(zhí)行或是代表網(wǎng)站執(zhí)行。
步驟500接收對(duì)站點(diǎn)模式的用戶(hù)選擇。該步驟可以用任何適當(dāng)?shù)姆绞綀?zhí)行。例如, 安裝在客戶(hù)機(jī)桌面上的快捷方式可用于接收站點(diǎn)模式選擇。響應(yīng)于接收到站點(diǎn)模式選擇, 步驟502請(qǐng)求開(kāi)始URL。所述開(kāi)始URL可以在上述web應(yīng)用文件中被找到。
步驟504接收開(kāi)始URL請(qǐng)求。步驟506向客戶(hù)機(jī)返回包含與開(kāi)始URL相關(guān)聯(lián)的內(nèi)容的相關(guān)web資源。
步驟508接收相關(guān)聯(lián)的web資源,步驟510則在web應(yīng)用窗口中再現(xiàn)web資源。如上所述,web應(yīng)用窗口是由Web應(yīng)用模式瀏覽器再現(xiàn)的。步驟512接收與web應(yīng)用窗口中再現(xiàn)的資源有關(guān)的用戶(hù)交互。所述用戶(hù)交互可以包括任何適當(dāng)類(lèi)型的用戶(hù)交互。例如,用戶(hù)交互可以包括源于web應(yīng)用窗口內(nèi)部的導(dǎo)航活動(dòng)。步驟514確定用戶(hù)交互是否處于web 應(yīng)用文件定義的邊界以?xún)?nèi)。如果用戶(hù)交互處于web應(yīng)用文件定義的邊界以?xún)?nèi),則步驟516 在web應(yīng)用窗口中再現(xiàn)與用戶(hù)交互相關(guān)聯(lián)的內(nèi)容。另一方面,如果用戶(hù)交互不在web應(yīng)用文件定義的邊界以?xún)?nèi),則步驟518會(huì)在默認(rèn)的web瀏覽器中再現(xiàn)與用戶(hù)交互相關(guān)聯(lián)的內(nèi)容。
通過(guò)這種方式,可以實(shí)施網(wǎng)站開(kāi)發(fā)人員定義的特定網(wǎng)站的邊界,以便確保保持用戶(hù)體驗(yàn)為開(kāi)發(fā)人員所預(yù)期的用戶(hù)體驗(yàn)。例如,網(wǎng)站定義的開(kāi)始URL是主頁(yè),并且在web應(yīng)用模式中對(duì)主頁(yè)的后續(xù)訪問(wèn)將會(huì)導(dǎo)航至開(kāi)始URL,而不是用戶(hù)初始定義的瀏覽器主頁(yè)。這樣做允許快速訪問(wèn)web應(yīng)用特定的頁(yè)面,而不是一些不相關(guān)的主頁(yè)。該處理緩解了終端用戶(hù)的如下痛苦即,必須定義他們自己的站點(diǎn)特定的體驗(yàn),而這有可能正確工作,也有可能不正確工作。因此,完整、整合并被智能管理的體驗(yàn)可被提供給終端用戶(hù)。
已經(jīng)描述了例示的安裝和交互體驗(yàn),現(xiàn)在將要考慮跳轉(zhuǎn)列表整合的概念。
跳轉(zhuǎn)列表整合在一個(gè)或多個(gè)實(shí)施例中,在可用于與網(wǎng)站交互的桌面整合過(guò)程中,開(kāi)發(fā)人員可以使得網(wǎng)站能夠定義一系列的所謂的跳轉(zhuǎn)列表任務(wù)。此外,在至少一些實(shí)施例中,網(wǎng)站可以創(chuàng)建和更新定制跳轉(zhuǎn)列表。
跳轉(zhuǎn)列表可被認(rèn)為是構(gòu)成呈現(xiàn)給用戶(hù)的一組相關(guān)任務(wù)或內(nèi)容的列表。通過(guò)跳轉(zhuǎn)列表,網(wǎng)站可以向用戶(hù)推廣相關(guān)和有用信息的精華。所述跳轉(zhuǎn)列表與特定web應(yīng)用的能力或功能相關(guān)。例如,用于電子郵件應(yīng)用的跳轉(zhuǎn)列表可以包括給予用戶(hù)打開(kāi)聯(lián)系人、創(chuàng)建新電子郵件消息等能力的任務(wù)。在一些情況中,跳轉(zhuǎn)列表可以包括相關(guān)的以及最常用的命令和數(shù)據(jù)的列表。
在一個(gè)或多個(gè)實(shí)施例中,跳轉(zhuǎn)列表功能可以被實(shí)現(xiàn)為包含靜態(tài)元素和動(dòng)態(tài)元素這兩者。
如上所述,開(kāi)發(fā)人員可以在填充web應(yīng)用文件的web應(yīng)用安裝過(guò)程期間定義靜態(tài)元素。與靜態(tài)元素關(guān)聯(lián)的設(shè)定可以保存在web應(yīng)用文件內(nèi)。在一個(gè)或多個(gè)實(shí)施例中,所述設(shè)定可以包括列表名稱(chēng)以及相關(guān)聯(lián)的任務(wù)。在至少一些實(shí)例中,靜態(tài)元素可以構(gòu)成表示常用功能的元素。
與動(dòng)態(tài)元素相關(guān)聯(lián)的設(shè)定可以是由在web應(yīng)用窗口內(nèi)部運(yùn)行的網(wǎng)站頁(yè)面驅(qū)動(dòng)的。 這些設(shè)定包括向用戶(hù)動(dòng)態(tài)暴露可辨別的標(biāo)記的設(shè)定。例如,一個(gè)設(shè)定可以將一個(gè)項(xiàng)目添加至定制跳轉(zhuǎn)列表,一個(gè)設(shè)定可以顯示在下文中提供示例的覆蓋圖標(biāo)。在至少一些實(shí)施例中, 所述動(dòng)態(tài)設(shè)定可以在每次啟動(dòng)web應(yīng)用的時(shí)候被清除,并且可以通過(guò)web應(yīng)用腳本代碼來(lái)配置。
作為根據(jù)一個(gè)實(shí)施例的定制跳轉(zhuǎn)列表的示例,考慮圖6,該圖一般性地在600圖示了客戶(hù)機(jī)桌面的一部分。定制跳轉(zhuǎn)列表602根據(jù)一個(gè)或多個(gè)實(shí)施例被暴露。在這里,靜態(tài)元素在604示出,動(dòng)態(tài)元素則是在606示出。在該示例中,靜態(tài)元素列表名稱(chēng)是“任務(wù)”,并且所述任務(wù)或靜態(tài)元素包括“新電子郵件消息”、“新約會(huì)”、“新聯(lián)系人”以及“新任務(wù)”。動(dòng)態(tài)元素列表的名稱(chēng)是“今天”,并且在該示例中,任務(wù)或動(dòng)態(tài)元素包括從用戶(hù)日程表中產(chǎn)生的提醒。這些動(dòng)態(tài)元素是由相關(guān)聯(lián)的網(wǎng)站動(dòng)態(tài)填充的。因此,在該示例中,動(dòng)態(tài)元素或內(nèi)容與向用戶(hù)提供通知的處理是關(guān)聯(lián)的,并且通常與用戶(hù)動(dòng)作無(wú)關(guān)。
如上所指出的,跳轉(zhuǎn)列表可以是在桌面整合過(guò)程中定義的。這些任務(wù)和跳轉(zhuǎn)列表定義可被保存在web應(yīng)用文件內(nèi)。作為一個(gè)示例,考慮圖7,該圖在700圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的JavaScript API。所示出的JavaScript API使得網(wǎng)站能夠與客戶(hù)機(jī)桌面整合以及定義跳轉(zhuǎn)列表。除了存在“定制任務(wù)”和“定制跳轉(zhuǎn)列表”之外,這個(gè)JavaScript API 可以與參考圖3描述的API是相同或相似的。為了簡(jiǎn)潔起見(jiàn),在這里省略圖3的一些內(nèi)容。 在至少一些實(shí)施例中,跳轉(zhuǎn)列表任務(wù)的靜態(tài)列表的初始創(chuàng)建可以用標(biāo)記定義,例如使用在 HTML文件內(nèi)部定義的HTML標(biāo)記符(tag)。
舉個(gè)例子,下面考慮使用元標(biāo)記符來(lái)描述靜態(tài)列表功能的示例〈META name=〃msapplication-task〃content=〃name=Task; uri=http://marap/test3. html;icon-uri=http://marap/icon3. ico〃/>
在一個(gè)或多個(gè)實(shí)施例中,在執(zhí)行任務(wù)的時(shí)候存在一個(gè)耦合選項(xiàng)。例如,與任務(wù)關(guān)聯(lián)的URL可以在包含當(dāng)前查看的網(wǎng)頁(yè)的相同web應(yīng)用/瀏覽器窗口內(nèi)部打開(kāi)。作為替換或補(bǔ)充,新的頁(yè)面可被啟動(dòng)。作為替換或補(bǔ)充,可以顯示新的彈出窗口。
在系統(tǒng)定義并讀取了這些參數(shù)以后,在用戶(hù)將網(wǎng)站安裝至其桌面的時(shí)候可以使用這些參數(shù),其中舉例來(lái)說(shuō),所述網(wǎng)站是通過(guò)將其添加至開(kāi)始菜單或固定在任務(wù)欄上而被安裝的,這將在下面進(jìn)行描述。同時(shí),在至少一些實(shí)施例中,有一組動(dòng)態(tài)值是可以由跳轉(zhuǎn)列表上的網(wǎng)站客戶(hù)機(jī)代碼操縱的。
網(wǎng)站使用“定制任務(wù)”來(lái)定義如上所述的靜態(tài)任務(wù)。在該示例中,靜態(tài)任務(wù)是新消息的靜態(tài)任務(wù)。所述API在桌面上創(chuàng)建一個(gè).webapp應(yīng)用文件702,并且存儲(chǔ)導(dǎo)航域(與圖3的示例一樣)及其他信息,例如與跳轉(zhuǎn)列表相關(guān)聯(lián)的信息。在所示出和描述的實(shí)施例中,.webapp應(yīng)用文件702包括網(wǎng)站已為其站點(diǎn)模式配置定義的信息。該信息包括開(kāi)始URL、網(wǎng)站已規(guī)定的所有導(dǎo)航域(沒(méi)有特別示出)、web應(yīng)用標(biāo)題以及所謂的網(wǎng)站圖標(biāo)。其他信息包括與如上所述的新消息相關(guān)聯(lián)的定制任務(wù)以及“定制列表”。在該示例中,定制列表元素是當(dāng)在客戶(hù)機(jī)上運(yùn)行web應(yīng)用的時(shí)候可以由網(wǎng)站動(dòng)態(tài)填充的動(dòng)態(tài)元素。在這里,“朋友”名稱(chēng)包含與動(dòng)態(tài)內(nèi)容相關(guān)聯(lián)的報(bào)頭。因此,在該實(shí)例中,如果用戶(hù)的朋友在線,那么動(dòng)態(tài)內(nèi)容將會(huì)與向用戶(hù)提供通知的處理相關(guān)聯(lián)。在這里,定制列表是并非駐留在web應(yīng)用中的單獨(dú)API。然而,所述定制任務(wù)駐留在web應(yīng)用中。在操作中,在web應(yīng)用運(yùn)行的時(shí)候可以預(yù)取并緩存與靜態(tài)元素相關(guān)聯(lián)的項(xiàng)目。另一方面,網(wǎng)站可以在web應(yīng)用運(yùn)行的時(shí)候邊工作邊提供與動(dòng)態(tài)元素相關(guān)聯(lián)的項(xiàng)目。作為如何邊工作邊向web應(yīng)用提供與動(dòng)態(tài)元素相關(guān)聯(lián)的項(xiàng)目的實(shí)現(xiàn)示例,考慮圖8。
圖8圖示了網(wǎng)站如何能夠與定制跳轉(zhuǎn)列表動(dòng)態(tài)交互從而允許用戶(hù)知道消息已經(jīng)到達(dá)。在該示例中,JavaScript 800圖示了網(wǎng)站如何可以向在Web應(yīng)用模式瀏覽器中托管的頁(yè)面發(fā)送更新。在瀏覽器中運(yùn)行的客戶(hù)端代碼負(fù)責(zé)接收更新,更新屏幕上的內(nèi)容,以及向跳轉(zhuǎn)列表發(fā)送請(qǐng)求來(lái)更新其列表。在該示例中,網(wǎng)站能將信息推送給跳轉(zhuǎn)列表,以便提供實(shí)時(shí)體驗(yàn)。在這里,當(dāng)網(wǎng)站接收到例如新消息O (New Message O)和新消息I (New MessageO之類(lèi)的新消息時(shí),可以從web應(yīng)用產(chǎn)生一個(gè)JavaScript調(diào)用,以便更新跳轉(zhuǎn)列表802。在至少一些實(shí)施例中,在任務(wù)欄804中可以出現(xiàn)一個(gè)通知,以便向用戶(hù)告知接收到了相關(guān)信息。所述通知可以出現(xiàn)在任務(wù)欄中的任何適當(dāng)位置,并且可以包括任何適當(dāng)類(lèi)型的通知。例如,所述通知可以出現(xiàn)在與web應(yīng)用相關(guān)聯(lián)的圖標(biāo)806之中或是其周?chē)?。作為替換或補(bǔ)充,該通知可以閃爍,以便吸引用戶(hù)的注意。作為一個(gè)示例,考慮圖9。其中一般性地在900圖示了客戶(hù)機(jī)桌面的一部分。任務(wù)欄901包括與當(dāng)前web應(yīng)用相關(guān)聯(lián)的圖標(biāo)902。在這里,應(yīng)該注意的是,在圖標(biāo)902的內(nèi)部已經(jīng)再現(xiàn)了覆蓋圖標(biāo)904。在該示例中,用戶(hù)已接收到一個(gè)新消息,并且如上所述,網(wǎng)站已調(diào)用web應(yīng)用而引發(fā)在圖標(biāo)902內(nèi)再現(xiàn)所述覆蓋圖標(biāo)904。這向用戶(hù)提供新消息業(yè)已到達(dá)的通知。響應(yīng)于看到覆蓋圖標(biāo)904,用戶(hù)可以訪問(wèn)跳轉(zhuǎn)列表905,以便暴露指示當(dāng)前正在或即將發(fā)生的約會(huì)的元素908。此外還應(yīng)該注意,元素906同樣會(huì)被暴露。JavaScript摘錄910圖示了可用于更新覆蓋圖標(biāo)的代碼的一個(gè)示例。網(wǎng)站與web應(yīng)用之間的動(dòng)態(tài)交互可以采用其他不同的方式進(jìn)行。例如,在至少一些實(shí)施例中,響應(yīng)于與網(wǎng)站相關(guān)的用戶(hù)動(dòng)作,可以從網(wǎng)站向跳轉(zhuǎn)列表推送一個(gè)預(yù)覽窗口。在所示出和描述的實(shí)施例中,該預(yù)覽窗口是由網(wǎng)站提供的微型視圖。所述預(yù)覽窗口可以是響應(yīng)于任何適當(dāng)類(lèi)型的用戶(hù)動(dòng)作提供的。例如,在至少一些實(shí)施例中,預(yù)覽窗口可以是響應(yīng)于鼠標(biāo)懸停在與網(wǎng)站相關(guān)聯(lián)的任務(wù)欄圖標(biāo)上而被從網(wǎng)站推送至跳轉(zhuǎn)列表的。作為替換或補(bǔ)充,所述預(yù)覽窗口可以是通過(guò)將光標(biāo)置于web應(yīng)用的任務(wù)欄圖標(biāo)上以及通過(guò)左鍵點(diǎn)擊而被提供的。作為一個(gè)示例,考慮圖10。其中一般性地在1000圖示了客戶(hù)機(jī)桌面的一部分。任務(wù)欄1001包括與當(dāng)前web應(yīng)用相關(guān)聯(lián)的圖標(biāo)1002。在這里應(yīng)該注意,用戶(hù)將其光標(biāo)放在了圖標(biāo)1002上。作為響應(yīng),預(yù)覽窗口 1004已被再現(xiàn)。在操作中,響應(yīng)于用戶(hù)將其光標(biāo)放在圖標(biāo)上的動(dòng)作 ,一個(gè)事件將被傳送至網(wǎng)頁(yè)。然后,響應(yīng)于對(duì)所述事件的接收,網(wǎng)頁(yè)可以動(dòng)態(tài)地提供預(yù)覽或引發(fā)再現(xiàn)緩存的預(yù)覽窗口。在至少一些實(shí)施例中,網(wǎng)站還可以使用預(yù)覽窗口來(lái)定義工具欄按鈕以及相關(guān)聯(lián)的行為。例如,在所示出和描述的實(shí)施例中,web應(yīng)用包括媒體播放器應(yīng)用,并且在覆蓋于預(yù)覽窗口 1004之上的用戶(hù)界面工具1006中出現(xiàn)三個(gè)工具欄按鈕。這些按鈕包括暫停按鈕、停止按鈕以及播放按鈕。在至少一些實(shí)施例中,所述工具欄按扭可以用客戶(hù)端代碼來(lái)實(shí)現(xiàn),其避免了必須與遠(yuǎn)端服務(wù)器進(jìn)行交互。例如,個(gè)別按鈕可以是為特定網(wǎng)頁(yè)注冊(cè)的。每一個(gè)按鈕都被配置和指定了一個(gè)ID。為所有按鈕事件注冊(cè)一個(gè)“監(jiān)聽(tīng)器”。當(dāng)按下按鈕時(shí),將會(huì)產(chǎn)生一個(gè)事件,并且所述事件將被反向傳遞至瀏覽器,然后,瀏覽器會(huì)將該事件傳播至已注冊(cè)的事件監(jiān)聽(tīng)器。所述事件包含被按下的按鈕。這樣做使得能夠消除按鈕的歧義。實(shí)現(xiàn)示例
在實(shí)現(xiàn)示例中,web開(kāi)發(fā)人員可以使用以下的JavaScript功能來(lái)更新跳轉(zhuǎn)列表中的定制列表和更新任務(wù)欄覆蓋圖標(biāo)。列表創(chuàng)建行為
該行為定義作為定制列表標(biāo)題的列表名稱(chēng)。這個(gè)值將被顯示成列表標(biāo)題??蛇x地,初始可以提供包含項(xiàng)目名稱(chēng)、項(xiàng)目的URI值以及與項(xiàng)目相關(guān)聯(lián)的圖像的項(xiàng)目列表來(lái)填充所述列表。當(dāng)在web應(yīng)用模式中啟動(dòng)瀏覽器時(shí),可以支持所述功能。列表更新行為
列表項(xiàng)目值被提供用來(lái)更新特定列表項(xiàng)目。所述列表項(xiàng)目值包括項(xiàng)目名稱(chēng)、項(xiàng)目的URI值以及與項(xiàng)目相關(guān)聯(lián)的圖像。當(dāng)在web應(yīng)用模式中啟動(dòng)瀏覽器時(shí),可以支持所述功能。設(shè)定覆蓋圖標(biāo)
規(guī)定一個(gè)URI值,該URI值指向?qū)?huì)作為現(xiàn)有任務(wù)欄圖標(biāo)的覆蓋圖使用的圖標(biāo)。當(dāng)在web應(yīng)用t旲式中啟動(dòng)瀏覽器時(shí),可以支持該功能。設(shè)定預(yù)覽圖像
規(guī)定一個(gè)URI,其指向應(yīng)被作為任務(wù)欄預(yù)覽圖像(或縮略圖預(yù)覽)的圖片表示使用的圖像。所述預(yù)覽是在用戶(hù)使用鼠標(biāo)左鍵點(diǎn)擊任務(wù)欄圖標(biāo)的時(shí)候顯示的。清除覆蓋圖標(biāo)
該功能將會(huì)移除任務(wù)欄圖標(biāo)上的現(xiàn)有覆蓋圖標(biāo)。當(dāng)在web應(yīng)用模式中啟動(dòng)瀏覽器時(shí),可以支持該功能。Web開(kāi)發(fā)人員可以使用以下的JavaScript功能來(lái)定義和修改在特定網(wǎng)站的任務(wù)欄預(yù)覽窗口中顯示的一組工具欄按鈕。工具欄按鈕安裝
按鈕ID的列表是用工具提示和圖像URL規(guī)定的。當(dāng)用戶(hù)選擇工具欄按鈕時(shí),該事件將被傳遞至網(wǎng)站,以便進(jìn)行處理。然后,網(wǎng)站可以消除按鈕事件的歧義。該調(diào)用在打開(kāi)站點(diǎn)模式窗口以顯示按鈕的時(shí)候被執(zhí)行至少一次。當(dāng)在web應(yīng)用模式中啟動(dòng)瀏覽器時(shí),支持該功倉(cāng)泛。更新圖像
該功能識(shí)別指定按鈕ID的狀態(tài)和可視性。所述狀態(tài)可以是使能或禁用。在至少一些實(shí)施例中,該按鈕默認(rèn)是使能的。所述視圖可以是顯示或隱藏的。所定義的按鈕默認(rèn)是可視的。當(dāng)在web應(yīng)用模式中啟動(dòng)瀏覽器時(shí),支持該功能。圖11是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,該方法的多個(gè)方面是由客戶(hù)機(jī)設(shè)備上運(yùn)行的軟件執(zhí)行的。步驟1100選擇網(wǎng)站整合特征。該步驟可以采用任何適當(dāng)?shù)姆绞綀?zhí)行。通常,該步驟是在用戶(hù)選擇一種工具或以其它方式采取動(dòng)作來(lái)啟動(dòng)web應(yīng)用安裝過(guò)程的時(shí)候執(zhí)行的。 舉例來(lái)說(shuō),用戶(hù)可以選擇使得他能夠整合web應(yīng)用的鏈接。以下提供了如何執(zhí)行該處理的具體示例。步驟1102在客戶(hù)機(jī)設(shè)備上創(chuàng)建一個(gè)web應(yīng)用文件——在這里將其標(biāo)明為 webapp”文件。這個(gè)文件在初始創(chuàng)建時(shí)可以構(gòu)成人工制品(artifact)或外殼,隨后,所述
人工制品或外殼可以用接收自網(wǎng)站或是代表網(wǎng)站接收的內(nèi)容和信息來(lái)填充。步驟1104使用web應(yīng)用內(nèi)容來(lái)填充web應(yīng)用文件,在本示例中,所述內(nèi)容包括跳轉(zhuǎn)列表。該步驟可以采用任何適當(dāng)?shù)姆绞綀?zhí)行。例如,該步驟可以通過(guò)使用以上提供了示例的JavaScript API來(lái)執(zhí)行。作為替換或補(bǔ)充,該步驟的多個(gè)方面可以通過(guò)使用HTML之類(lèi)的標(biāo)記來(lái)執(zhí)行。如果在客戶(hù)機(jī)上創(chuàng)建和填充了 web應(yīng)用文件,那么現(xiàn)在可以在任何適當(dāng)?shù)臅r(shí)間啟動(dòng)web應(yīng)用。圖12是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法的步驟的流程圖。這些步驟可以結(jié)合任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,該方法可以由客戶(hù)機(jī)上運(yùn)行的軟件與服務(wù)器上運(yùn)行的軟件相關(guān)聯(lián)地執(zhí)行。步驟1200接收與跳轉(zhuǎn)列表相關(guān)聯(lián)的用戶(hù)動(dòng)作??梢越邮找陨咸峁┝耸纠娜魏芜m當(dāng)?shù)挠脩?hù)動(dòng)作。例如,在至少一些實(shí)施例中,用戶(hù)動(dòng)作可以是關(guān)于特別顯示的跳轉(zhuǎn)列表或未顯示的跳轉(zhuǎn)列表而被接收的。作為替換或補(bǔ)充,用戶(hù)動(dòng)作可以是關(guān)于所顯示的與web應(yīng)用相關(guān)聯(lián)的圖標(biāo)而被接收的。例如,該圖標(biāo)可以被顯示在桌面任務(wù)欄中或是其他任何適當(dāng)?shù)奈恢?。以上提供了這種動(dòng)作的示例。步驟1202呈現(xiàn)與用戶(hù)動(dòng)作相關(guān)聯(lián)的內(nèi)容。例如,所呈現(xiàn)的內(nèi)容可以包括跳轉(zhuǎn)列表本身。該跳轉(zhuǎn)列表可以是響應(yīng)于以上提供了示例的任何適當(dāng)類(lèi)型的用戶(hù)動(dòng)作而呈現(xiàn)的。所呈現(xiàn)的內(nèi)容還可以包括跳轉(zhuǎn)列表自身以外的內(nèi)容。例如,定制預(yù)覽窗口可以是響應(yīng)于用戶(hù)動(dòng)作而被呈現(xiàn)的,其中舉例來(lái)說(shuō),所述用戶(hù)動(dòng)作可以是左鍵點(diǎn)擊任務(wù)欄圖標(biāo)。舉個(gè)例子,用戶(hù)可以選擇創(chuàng)建或撰寫(xiě)新的電子郵件消息。圖13是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布④浖?、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,該方法的多個(gè)方面是由客戶(hù)機(jī)上運(yùn)行的軟件以及在支持網(wǎng)站的服務(wù)器上運(yùn)行的軟件執(zhí)行的。相應(yīng)地,所述圖的一列被標(biāo)明為“客戶(hù)機(jī)”,以便標(biāo)明這些步驟由客戶(hù)機(jī)執(zhí)行或是在客戶(hù)機(jī)上執(zhí)行,一列被標(biāo)明為“網(wǎng)站”,以便標(biāo)明這些步驟由網(wǎng)站執(zhí)行或是代表網(wǎng)站執(zhí)行。步驟1300接收與動(dòng)態(tài)跳轉(zhuǎn)列表項(xiàng)目相關(guān)聯(lián)的信息。任何適當(dāng)?shù)奶D(zhuǎn)列表項(xiàng)目均可作為接收信息的基礎(chǔ),上面已經(jīng)提供了其示例。步驟1302產(chǎn)生一個(gè)通知,并且步驟1304將所述通知傳送至運(yùn)行web應(yīng)用的客戶(hù)機(jī)設(shè)備。步驟1306接收所述通知,并且步驟1308為用戶(hù)提供可辨別的通知。任何適當(dāng)類(lèi)型的可辨別通知都可以被提供。例如,在至少一些實(shí)施例中,可辨別的通知可以是能通過(guò)視覺(jué)辨別的通知,例如覆蓋圖標(biāo)或閃爍的web應(yīng)用圖標(biāo)。作為替換或補(bǔ)充,可辨別的通知可以包括能夠通過(guò)聽(tīng)覺(jué)辨別的通知,例如鈴聲或蜂鳴聲。已經(jīng)考慮了與跳轉(zhuǎn)列表整合相關(guān)聯(lián)的不同實(shí)施例,現(xiàn)在將要考慮討論如何根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)將網(wǎng)站“固定”任務(wù)欄之類(lèi)的桌面特征上。仵備欄固定
有多種不同的web應(yīng)用可以與客戶(hù)機(jī)桌面或任務(wù)欄整合的方式。在至少一些實(shí)施例中,web應(yīng)用可以通過(guò)拖放操作來(lái)與桌面整合。作為替換或補(bǔ)充,web應(yīng)用可以借助web瀏覽器的菜單選擇來(lái)進(jìn)行整合。作為替換或補(bǔ)充,web應(yīng)用還可以通過(guò)相關(guān)聯(lián)的網(wǎng)站本身來(lái)進(jìn)行整合。在下文中,這些實(shí)施例中的每一個(gè)都會(huì)在其自己的標(biāo)題下方被論述。
通過(guò)拖放操作來(lái)整合
在一個(gè)或多個(gè)實(shí)施例中,web應(yīng)用可以通過(guò)拖放操作來(lái)與桌面或任務(wù)欄整合。作為一個(gè)示例,考慮圖14。其中一般性地在1400示出了一個(gè)客戶(hù)機(jī)桌面。web瀏覽器窗口 1402包括地址欄1404,其內(nèi)顯示了一個(gè)網(wǎng)站URL。與所述URL相關(guān)聯(lián)顯示了名為“網(wǎng)站圖標(biāo)”1406的圖標(biāo)。此外,桌面1400包括任務(wù)欄1408。圖15用圖解法圖示了根據(jù)一個(gè)或多個(gè)實(shí)施例的拖放操作。在該示例中,光標(biāo)置于網(wǎng)站圖標(biāo)1406的上方。通過(guò)左鍵點(diǎn)擊網(wǎng)站圖標(biāo)并沿著任務(wù)欄1408拖曳該圖標(biāo),可以將相關(guān)聯(lián)的web應(yīng)用固定在桌面的任務(wù)欄1408上,其中在本范例中,所述web應(yīng)用是消息板應(yīng)用。所述拖放操作啟動(dòng)了如上所述的整合web應(yīng)用的整合過(guò)程,從而將其固定在任務(wù)欄上。在一個(gè)或多個(gè)實(shí)現(xiàn)方式中,如果與web應(yīng)用相關(guān)聯(lián)的網(wǎng)頁(yè)具有在瀏覽器中打開(kāi)的標(biāo)簽(tab),那么在將網(wǎng)站圖標(biāo)放至任務(wù)欄上之后,相關(guān)聯(lián)的標(biāo)簽可以從瀏覽器窗口中消失。作為替換或補(bǔ)充,所述標(biāo)簽未必會(huì)被移除,取而代之,所述標(biāo)簽的內(nèi)容有可能被“新標(biāo)簽”頁(yè)面取代。在瀏覽器窗口中打開(kāi)單個(gè)標(biāo)簽的實(shí)例中,在將網(wǎng)站圖標(biāo)固定在任務(wù)欄上之后,瀏覽器窗口將會(huì)消失。此時(shí),在瀏覽器關(guān)閉之前但是在固定web應(yīng)用之后,包含在初始站點(diǎn)中的標(biāo)簽可被移除。另外,在至少一些實(shí)施例中,當(dāng)拖曳操作進(jìn)入任務(wù)欄時(shí),可以呈現(xiàn)“固定到任務(wù)欄”形式的工具提示,以便向用戶(hù)告知固定功能。更進(jìn)一步,在首次實(shí)例化web應(yīng)用時(shí),固定在任務(wù)欄上的網(wǎng)站或web應(yīng)用的狀態(tài)可以遷移至新顯示的窗口。這樣做允許用戶(hù)不必為了能夠使用應(yīng)用而向該站點(diǎn)重新輸入證書(shū)。在將網(wǎng)站或web應(yīng)用固定到任務(wù)欄上并完成如上所述的安裝過(guò)程之后,現(xiàn)在可以通過(guò)簡(jiǎn)單地點(diǎn)擊相關(guān)聯(lián)的網(wǎng)站圖標(biāo)來(lái)從任務(wù)欄啟動(dòng)web應(yīng)用。圖16是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由客戶(hù)機(jī)上運(yùn)行的軟件執(zhí)行的。步驟1600接收與web應(yīng)用安裝相關(guān)聯(lián)的拖放操作的指示。該步驟可以用任何適當(dāng)?shù)姆绞絹?lái)執(zhí)行。在以上描述的實(shí)施例中,該步驟在用戶(hù)拖放網(wǎng)站圖標(biāo)之類(lèi)的與網(wǎng)站相關(guān)聯(lián)的圖標(biāo)的時(shí)候被執(zhí)行,以便向網(wǎng)站指示希望將關(guān)聯(lián)的web應(yīng)用與其桌面整合。例如,用戶(hù)可以將網(wǎng)站圖標(biāo)拖放至任務(wù)欄、快速啟動(dòng)區(qū)域或是桌面上的其他某個(gè)位置,例如桌面畫(huà)布(canvass)ο響應(yīng)于拖放操作,步驟1602創(chuàng)建一個(gè)web應(yīng)用文件。在所示出和描述的實(shí)施例中,初始創(chuàng)建的web應(yīng)用文件是尚未包含來(lái)自相關(guān)聯(lián)的網(wǎng)站的信息的人工制品或外殼,其中舉例來(lái)說(shuō),所述信息可以是跳轉(zhuǎn)列表任務(wù)、開(kāi)始URL、網(wǎng)站圖標(biāo)或其他屬性,例如靜態(tài)跳轉(zhuǎn)列表任務(wù)、替換的開(kāi)始URL、替換的網(wǎng)站圖標(biāo)等等。這些可以在以后通過(guò)如上所述的新的標(biāo)記和/或JavaScript API來(lái)添加。應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,除了使用JavaScript API的技術(shù)之外的其他技術(shù)同樣是可以使用的。通過(guò)瀏覽器菜單選擇來(lái)進(jìn)行整合
在一個(gè)或多個(gè)實(shí)施例中,web應(yīng)用可以經(jīng)由web瀏覽器的菜單選擇來(lái)進(jìn)行整合。作為示例,考慮圖17。其中,一般性地在1700顯示了一個(gè)客戶(hù)機(jī)桌面。web瀏覽器窗口 1702包括顯示了 URL的地址欄1704。此外,桌面1700包括任務(wù)欄1706。采用頁(yè)面菜單形式的瀏覽器菜單項(xiàng)目1708被顯示。通過(guò)下拉頁(yè)面菜單以暴露菜單選擇1710,顯示出菜單項(xiàng)目或者選擇“添加至開(kāi)始菜單”。通過(guò)選擇該選項(xiàng),可以將網(wǎng)站或web應(yīng)用添加至桌面的開(kāi)始菜單,并且可以如上所述地啟動(dòng)安裝過(guò)程。作為替換或補(bǔ)充,可以顯示“添加至任務(wù)欄”菜單項(xiàng)目或選擇,以便使得能夠啟動(dòng)安裝過(guò)程?!?br>
圖18是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由客戶(hù)機(jī)上運(yùn)行的軟件執(zhí)行的。步驟1800接收瀏覽器菜單選擇。該步驟可以采用任何適當(dāng)?shù)姆绞綀?zhí)行。在上述實(shí)施例中,當(dāng)用戶(hù)導(dǎo)航至特定網(wǎng)站,下拉瀏覽器菜單來(lái)暴露菜單選擇,然后通過(guò)選擇與啟動(dòng)安裝關(guān)聯(lián)于網(wǎng)站的web應(yīng)用相關(guān)聯(lián)的菜單項(xiàng)目以采取動(dòng)作的時(shí)候,執(zhí)行該步驟。步驟1802響應(yīng)于接收到瀏覽器菜單選擇而創(chuàng)建一個(gè)web應(yīng)用文件。在所示出和描述的實(shí)施例中,初始創(chuàng)建的web應(yīng)用文件是一個(gè)尚未包含來(lái)自相關(guān)聯(lián)的網(wǎng)站的信息的人工制品或外殼,其中所述信息例如是跳轉(zhuǎn)列表任務(wù)、開(kāi)始URL、網(wǎng)站圖標(biāo)等等。如上所述,這些信息可以在以后通過(guò)新的標(biāo)記和/或JavaScript API來(lái)添加。應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,除了使用JavaScript API的技術(shù)之外的其他技術(shù)同樣是可以使用的。通過(guò)相關(guān)聯(lián)的網(wǎng)站來(lái)講行整合
在一個(gè)或多個(gè)實(shí)施例中,web應(yīng)用與桌面的整合可以是從網(wǎng)頁(yè)發(fā)生的。在這些實(shí)施例中,特定網(wǎng)站可以通過(guò)使用JavaScript之類(lèi)的代碼來(lái)選擇整合活動(dòng),以便將web應(yīng)用整合到桌面中。這允許網(wǎng)站控制整合啟動(dòng)工具。作為示例,考慮圖19。其中,一般性地在1900顯示了一個(gè)客戶(hù)機(jī)桌面。web瀏覽器窗口 1902包括其中顯示了 URL的地址欄1904。此外,桌面1900包括任務(wù)欄1906。更進(jìn)一步,在瀏覽器窗口 1902內(nèi)顯示的網(wǎng)頁(yè)包含標(biāo)題為“添加至桌面”的鏈接1908。通過(guò)點(diǎn)擊該鏈接,用戶(hù)可以啟動(dòng)如上所述的web應(yīng)用安裝過(guò)程。在至少一些實(shí)施例中,在發(fā)生了鏈接選擇之后,可以呈現(xiàn)一個(gè)對(duì)用戶(hù)正在采取的用戶(hù)動(dòng)作以及去哪里訪問(wèn)其新創(chuàng)建的快捷方式進(jìn)行解釋說(shuō)明的模態(tài)確認(rèn)對(duì)話。該確認(rèn)對(duì)話可以向用戶(hù)呈現(xiàn)正在被呈現(xiàn)的頁(yè)面的源URL。所顯示的URL可以包含網(wǎng)站的完整路徑。這可以允許用戶(hù)核實(shí)其希望安裝的網(wǎng)站是由正確站點(diǎn)提供服務(wù)的。這可以緩解與惡意子目錄相關(guān)的狀況。在不同的實(shí)現(xiàn)方式中,檢查要與桌面整合的網(wǎng)站的URL以便確認(rèn)所述URL與包含所述URL的網(wǎng)頁(yè)處于相同的域。如果不是的話,則可以顯示差錯(cuò),并且該操作可以失敗。在用戶(hù)確認(rèn)了操作之后,該對(duì)話可被移除,并且可以使用正確的URL來(lái)顯示web應(yīng)用窗口。圖20是描述根據(jù)一個(gè)或多個(gè)實(shí)施例的安裝方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由客戶(hù)機(jī)上運(yùn)行的軟件執(zhí)行的。步驟2000顯示一個(gè)具有整合鏈接的網(wǎng)頁(yè)。該步驟可以采用任何適當(dāng)方式執(zhí)行,以上提供其示例。步驟2002接收對(duì)于整合鏈接的選擇。步驟2004響應(yīng)于接收到鏈接選擇創(chuàng)建一個(gè)web應(yīng)用文件。在所示出和描述的實(shí)施例中,初始創(chuàng)建的web應(yīng)用文件是一個(gè)尚未包含來(lái)自關(guān)聯(lián)網(wǎng)站的信息的人工制品或外殼,其中所述信息例如是跳轉(zhuǎn)列表任務(wù)、開(kāi)始URL、網(wǎng)站圖標(biāo)等等。如上所述,這些信息可以在以后通過(guò)新的標(biāo)記和/或JavaScript API來(lái)添加。應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,除了使用JavaScript API的技術(shù)之外的其他技術(shù)同樣是可以使用的。在至少一些實(shí)施例中,與web應(yīng)用相關(guān)聯(lián)的多個(gè)窗口或標(biāo)簽的視覺(jué)表示可被提供給用戶(hù)。作為示例,考慮圖21。其中,桌面2100包括具有web應(yīng)用圖標(biāo)固定在其上的任務(wù)欄2102。通過(guò)點(diǎn)擊該圖標(biāo),使用光標(biāo)來(lái)啟動(dòng)web應(yīng)用。在該示例中,假設(shè)用戶(hù)已使用web應(yīng)用的開(kāi)始頁(yè)面導(dǎo)航至多個(gè)頁(yè)面。所述web應(yīng)用可以使得能夠?qū)崿F(xiàn)顯示了用戶(hù)所導(dǎo)航到的網(wǎng)頁(yè)集合2104的可視化。特別地,在該示例中,集合2104包括用于web應(yīng)用的開(kāi)始頁(yè)面2106以及用戶(hù)從開(kāi)始頁(yè)面導(dǎo)航至的后續(xù)頁(yè)面2108和2110。已經(jīng)考慮了不同的web應(yīng)用整合技術(shù),現(xiàn)在考慮論述如何可以將用戶(hù)證書(shū)與用于web應(yīng)用的登錄會(huì)話相關(guān)聯(lián)。關(guān)聯(lián)證書(shū)和登錄會(huì)話
不同的實(shí)施例使得能夠以一種跨越web應(yīng)用的不同實(shí)例保持登錄或證書(shū)信息的方式來(lái)整合與使用登錄或證書(shū)信息的網(wǎng)站相關(guān)聯(lián)的一個(gè)或多個(gè)web應(yīng)用。當(dāng)瀏覽器導(dǎo)航至使用登錄或證書(shū)信息的網(wǎng)站時(shí),所述登錄或證書(shū)信息既可以是手動(dòng)輸入的,也可以是從證書(shū)存儲(chǔ)器中檢索得到的。證書(shū)存儲(chǔ)器可以包含用戶(hù)登錄信息,作為示例而不是限制,所述用戶(hù)登錄信息可以是用戶(hù)名和口令或用于特定URL的用戶(hù)證書(shū)。相同的URL或網(wǎng)站可以具有多個(gè)條目,并且每一個(gè)條目都與不同用戶(hù)相關(guān)聯(lián)。同樣,證書(shū)存儲(chǔ)器可以包含用于多個(gè)URL的用戶(hù)登錄信息或證書(shū)。在至少一些實(shí)施例中,與用戶(hù)登錄的網(wǎng)站相關(guān)聯(lián)的web應(yīng)用可以采用如上所述的方式整合在桌面上并進(jìn)行交互。在整合此類(lèi)web應(yīng)用時(shí),所述web應(yīng)用與什么網(wǎng)站相關(guān)聯(lián)以及登錄至該網(wǎng)站的用戶(hù)將會(huì)通過(guò)一個(gè)過(guò)程來(lái)確定。該過(guò)程搜索證書(shū)存儲(chǔ)器來(lái)找出相關(guān)聯(lián)的登錄信息和/或證書(shū)。然后,該過(guò)程可以在用戶(hù)、所創(chuàng)建的web應(yīng)用以及相關(guān)證書(shū)之間創(chuàng)建關(guān)聯(lián)。作為示例,考慮圖22,該示了根據(jù)一個(gè)或多個(gè)實(shí)施例的網(wǎng)站、證書(shū)存儲(chǔ)器以及web應(yīng)用之間的關(guān)系。瀏覽器2200顯示使用登錄信息的網(wǎng)站。除了顯示URL之外,還顯示了一個(gè)圖標(biāo)2210,其中如上所述,可以選擇所述圖標(biāo)以促成web應(yīng)用的整合。證書(shū)存儲(chǔ)器2220包括包含用于多個(gè)網(wǎng)站的登錄信息的條目。在2230顯示了一個(gè)這樣的條目。在這里,該條目包括網(wǎng)站URL、用戶(hù)名以及口令。雖然圖22將登錄信息顯示為包含用戶(hù)名和口令,但是應(yīng)該意識(shí)到和理解的是,其他形式的登錄信息或證書(shū)也是可以使用的。在一個(gè)或多個(gè)實(shí)施例中,如上所述并且如圖標(biāo)2240所示,圖標(biāo)2210可被選擇并被拖放至任務(wù)欄2235。該過(guò)程將會(huì)啟動(dòng)與網(wǎng)站相關(guān)聯(lián)的web應(yīng)用的整合。在接收到所述選擇之后,當(dāng)前哪一個(gè)用戶(hù)登錄至網(wǎng)站將會(huì)由一個(gè)過(guò)程來(lái)確定,并且所述過(guò)程在證書(shū)存儲(chǔ)器2220中搜索相關(guān)聯(lián)的證書(shū)。然而應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神的情況下,相關(guān)聯(lián)的證書(shū)是可以用其他方式確定和/或獲取的。一旦獲取了用戶(hù)證書(shū)和/或登錄信息,就在web應(yīng)用證書(shū)存儲(chǔ)器2250中進(jìn)行證書(shū)與web應(yīng)用之間的關(guān)聯(lián)。web應(yīng)用證書(shū)存儲(chǔ)器2250可以包括一個(gè)或多個(gè)條目,其中所述條目包含與網(wǎng)站、web應(yīng)用以及相關(guān)證書(shū)之間的關(guān)聯(lián)有關(guān)的數(shù)據(jù)。舉例來(lái)說(shuō),圖22圖示了被顯示為包含用戶(hù)JiiiA的與網(wǎng)站“a. com”相關(guān)的登錄信息的條目2260。除了 URL、用戶(hù)名和口令信息之外,條目2260還包括可用于將web應(yīng)用關(guān)聯(lián)于相應(yīng)證書(shū)的應(yīng)用ID或“AppID”。web應(yīng)用證書(shū)存儲(chǔ)器2250還包括用于同一網(wǎng)站“a. com”但是不同用戶(hù)的第二條目2270。該機(jī)制允許將來(lái)自相同網(wǎng)站的個(gè)別的web應(yīng)用關(guān)聯(lián)于不同用戶(hù)以及與之關(guān)聯(lián)的證書(shū)。
雖然在圖22中沒(méi)有示出,但是不同形式的用戶(hù)登錄信息和/或證書(shū)都可以與web應(yīng)用相關(guān)聯(lián)。舉個(gè)例子,在一個(gè)實(shí)施例中,一個(gè)關(guān)聯(lián)可以包含向回指向證書(shū)存儲(chǔ)器2220中的信息的指針或引用。在另一個(gè)實(shí)施例中,web應(yīng)用證書(shū)存儲(chǔ)器2250可以包括拷貝自證書(shū)存儲(chǔ)器的信息。在再另一個(gè)實(shí)施例中,與用戶(hù)名和口令分離或是作為其補(bǔ)充的證書(shū)可以與web應(yīng)用相關(guān)聯(lián)。例如,生物測(cè)定信息可以形成在web應(yīng)用證書(shū)存儲(chǔ)器中創(chuàng)建的關(guān)聯(lián)的基礎(chǔ)。已經(jīng)描述了網(wǎng)站、證書(shū)存儲(chǔ)器和web應(yīng)用之間的關(guān)系,現(xiàn)在將考慮如何可以為使用相關(guān)聯(lián)的證書(shū)的網(wǎng)站整合web應(yīng)用。創(chuàng)津和啟動(dòng)具有相關(guān)聯(lián)的證書(shū)的web應(yīng)用
圖23圖示了描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由客戶(hù)機(jī)上運(yùn)行的軟件執(zhí)行的。步驟2300接收對(duì)于網(wǎng)站整合特征的選擇。在上文中已提供了如何執(zhí)行該處理的示例。如上所述,網(wǎng)站整合特征與web應(yīng)用在客戶(hù)機(jī)桌面上的安裝是關(guān)聯(lián)的。響應(yīng)于接收到對(duì)于網(wǎng)站整合特征的選擇,步驟2302將會(huì)啟動(dòng)一個(gè)如上所述的用于在客戶(hù)機(jī)桌面上安裝web應(yīng)用的安裝過(guò)程。特別地,如上所述,在客戶(hù)機(jī)上該過(guò)程的啟動(dòng)可以包括創(chuàng)建web應(yīng)用文件。步驟2304獲取與關(guān)聯(lián)于網(wǎng)站的當(dāng)前web會(huì)話相關(guān)聯(lián)的會(huì)話信息。該步驟可以采用任何適當(dāng)?shù)姆绞絹?lái)執(zhí)行。例如,在一個(gè)實(shí)施例中,會(huì)話信息可以是在瀏覽器再現(xiàn)與網(wǎng)站相關(guān)聯(lián)的內(nèi)容與安裝過(guò)程之間使用共享存儲(chǔ)器組件獲取的。在另一個(gè)實(shí)施例中,在選擇了網(wǎng)站整合特征之后,網(wǎng)站可以自動(dòng)轉(zhuǎn)發(fā)會(huì)話信息。在再另一個(gè)實(shí)施例中,會(huì)話信息可以由瀏覽器存儲(chǔ),并且后續(xù)可以對(duì)其進(jìn)行查詢(xún)。響應(yīng)于獲取了會(huì)話信息,步驟2306獲取與會(huì)話信息相關(guān)的證書(shū)。在一個(gè)實(shí)施例中,可以在證書(shū)存儲(chǔ)器中查詢(xún)與用戶(hù)登錄的網(wǎng)站相關(guān)的登錄和/或證書(shū)。例如,可以在證書(shū)存儲(chǔ)器中查詢(xún)與當(dāng)前會(huì)話的網(wǎng)站及用戶(hù)相關(guān)聯(lián)的用戶(hù)名和口令。步驟2308將與會(huì)話信息相關(guān)的證書(shū)和/或登錄信息關(guān)聯(lián)于一個(gè)web應(yīng)用。該步驟可以采用任何適當(dāng)?shù)姆绞綀?zhí)行。例如,證書(shū)可被拷貝至web應(yīng)用證書(shū)存儲(chǔ)器,以便在以后進(jìn)行參考。作為替換或補(bǔ)充,可以在web應(yīng)用證書(shū)存儲(chǔ)器中放置指向證書(shū)存儲(chǔ)器中的證書(shū)的指針或引用。標(biāo)識(shí)數(shù)字可以至少部分基于會(huì)話信息和/或證書(shū)產(chǎn)生,以便為web應(yīng)用的每一個(gè)實(shí)例以及相關(guān)的證書(shū)和/或登錄信息創(chuàng)建唯一 ID。所述信息可被添加至web應(yīng)用證書(shū)存儲(chǔ)器條目,以便將所獲取的證書(shū)和/或登錄信息關(guān)聯(lián)于web應(yīng)用。然而應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,任何適當(dāng)?shù)募夹g(shù)均可用于將證書(shū)與web應(yīng)用相關(guān)聯(lián)。如上所述,每一個(gè)web應(yīng)用實(shí)例的唯一 ID允許將web應(yīng)用的多個(gè)實(shí)例關(guān)聯(lián)于相同的URL或網(wǎng)站,其中每一個(gè)實(shí)例都與不同的用戶(hù)證書(shū)相關(guān)聯(lián)。圖24是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可以由任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法的多個(gè)方面是由客戶(hù)機(jī)上運(yùn)行的軟件執(zhí)行的。步驟2400接收對(duì)于待啟動(dòng)web應(yīng)用的選擇。該步驟可以采用任何適當(dāng)?shù)姆绞絹?lái)執(zhí)行。舉個(gè)例子,如上所述,可以從圖標(biāo)固定于其上的任務(wù)欄進(jìn)行圖標(biāo)選擇。作為替換或補(bǔ)充,選擇可以是從桌面開(kāi)始菜單或系統(tǒng)工具欄做出的。一旦接收到對(duì)于待啟動(dòng)的web應(yīng)用 的選擇,步驟2402將會(huì)檢索與web應(yīng)用相關(guān)聯(lián)的證書(shū)。例如,在一個(gè)或多個(gè)實(shí)施例中,可以使用AppID來(lái)參考web應(yīng)用證書(shū)存儲(chǔ)器,以便檢索當(dāng)前登錄的用戶(hù)的登錄信息。步驟2404檢索與web應(yīng)用以及相關(guān)證書(shū)相關(guān)聯(lián)的URL和/或FormID (表單ID)。一旦獲取了步驟2402和2404中描述的信息,步驟2406會(huì)在用戶(hù)未干預(yù)的情況下自治地登錄至相關(guān)聯(lián)的網(wǎng)站。在登錄到該網(wǎng)站之后,如先前所述,步驟2408將會(huì)導(dǎo)航至開(kāi)始URL。已經(jīng)描述了如何整合和啟動(dòng)與證書(shū)相關(guān)聯(lián)的web應(yīng)用,現(xiàn)在考慮論述具有相關(guān)聯(lián)的證書(shū)的web應(yīng)用的多個(gè)實(shí)例。具有相關(guān)聯(lián)的證書(shū)的web應(yīng)用的多個(gè)實(shí)例
圖25圖示了與證書(shū)關(guān)聯(lián)的多個(gè)web應(yīng)用實(shí)例的示例。web應(yīng)用證書(shū)存儲(chǔ)器2500包括與web應(yīng)用以及網(wǎng)站的關(guān)聯(lián)證書(shū)有關(guān)的數(shù)據(jù)。在web應(yīng)用證書(shū)存儲(chǔ)器2500中包含了條目2510和2520,其中每一個(gè)條目用于不同的用戶(hù)。如圖25所示,條目2510與網(wǎng)站“a. com”有關(guān)并且包含了用于登錄至相關(guān)聯(lián)的網(wǎng)站的附加信息,例如用戶(hù)名jsmith和口令bulldogs。條目2510包括一個(gè)用于將所述條目與web應(yīng)用2530關(guān)聯(lián)起來(lái)的AppID。條目2520同樣與網(wǎng)站“a. com”有關(guān),但其包含用戶(hù)bsmith的登錄信息,并且與web應(yīng)用2540相關(guān)聯(lián)。雖然圖25圖示了包含URL/FormID、用戶(hù)名、口令以及AppID的條目,但是應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神的情況下,不同形式的關(guān)聯(lián)和證書(shū)信息都是可以使用的。由此,web應(yīng)用證書(shū)存儲(chǔ)器中的兩個(gè)或更多數(shù)據(jù)條目可以包括用于識(shí)別整合在客戶(hù)機(jī)桌面上的不同web應(yīng)用的數(shù)據(jù),并且每一個(gè)條目都具有與相同網(wǎng)站相關(guān)聯(lián)的不同用戶(hù)證書(shū)。在一個(gè)或多個(gè)實(shí)施例中,與相同網(wǎng)站相關(guān)聯(lián)的一個(gè)或多個(gè)web應(yīng)用是可以同時(shí)存在或激活的。例如,軟件模塊可被配置成使得web應(yīng)用能夠借助桌面工具欄來(lái)啟動(dòng),以及在啟動(dòng)web應(yīng)用的時(shí)候使用相關(guān)聯(lián)的證書(shū)來(lái)自動(dòng)將相關(guān)聯(lián)的用戶(hù)登錄至網(wǎng)站。除了啟動(dòng)單個(gè)web應(yīng)用之外,當(dāng)選擇啟動(dòng)第二 web應(yīng)用的時(shí)候,軟件模塊還可以被配置成使得第二 web應(yīng)用能夠使用用于相同網(wǎng)站或不同網(wǎng)站的不同用戶(hù)證書(shū)來(lái)啟動(dòng)。例如,圖25的兩個(gè)web應(yīng)用2530、2540是同時(shí)激活的。如上所述,每一個(gè)應(yīng)用都與網(wǎng)站“a. com”有關(guān),但是具有與之關(guān)聯(lián)的不同證書(shū)。在選擇和啟動(dòng)web應(yīng)用2530的時(shí)候,所述web應(yīng)用會(huì)自動(dòng)地使用與用戶(hù)jsmith相關(guān)聯(lián)的證書(shū)登錄至網(wǎng)站“a. com”。同樣,在選擇和啟動(dòng)web應(yīng)用2540的時(shí)候,所述web應(yīng)用會(huì)使用與用戶(hù)bsmith相關(guān)聯(lián)的證書(shū)登錄至網(wǎng)站“a. com”。由此,與相同網(wǎng)站相關(guān)聯(lián)的web應(yīng)用的多個(gè)實(shí)例可被同時(shí)激活,并且可以與不同的證書(shū)相關(guān)聯(lián)。已經(jīng)描述了創(chuàng)建和啟動(dòng)具有相關(guān)聯(lián)的證書(shū)的web應(yīng)用的概念,現(xiàn)在考慮論述web應(yīng)用任務(wù)會(huì)話。web應(yīng)用任務(wù)會(huì)話
在一個(gè)或多個(gè)實(shí)施例中,可以創(chuàng)建任務(wù)會(huì)話以便使得與web應(yīng)用相關(guān)聯(lián)的狀態(tài)信息能夠被保存到系統(tǒng)中。作為示例而不是限制,狀態(tài)信息可以包括會(huì)話cookies、JavaScript狀態(tài)、DOM狀態(tài)、表單狀態(tài)、標(biāo)簽和窗口位置、窗口大小、URL、歷史記錄等等。由于保存了與特定任務(wù)會(huì)話相關(guān)聯(lián)的狀態(tài)信息,由此,所述web應(yīng)用可被關(guān)閉,并且可以在以后重新打開(kāi),從而恢復(fù)或補(bǔ)充(re-hydrate) web應(yīng)用的狀態(tài)信息。所述狀態(tài)信息既可以被自動(dòng)保存,也可以通過(guò)手動(dòng)選擇過(guò)程來(lái)保存。 作為示例,考慮圖26。其中,桌面2600包括用于規(guī)劃旅行的web應(yīng)用窗口 2602。桌面2600還包括任務(wù)欄2604和跳轉(zhuǎn)列表2606。web應(yīng)用目錄2608提供了一個(gè)可用于存儲(chǔ)任務(wù)會(huì)話狀態(tài)信息的存儲(chǔ)設(shè)備。在所示出和描述的實(shí)施例中,web應(yīng)用目錄2608是在系統(tǒng)的用戶(hù)空間中創(chuàng)建的。在該示例中,用戶(hù)具有兩個(gè)已經(jīng)保存的任務(wù)會(huì)話,其中一個(gè)與波多黎各旅行相關(guān)聯(lián),另一個(gè)則與阿拉斯加旅行相關(guān)聯(lián)。在操作中,當(dāng)用戶(hù)與web應(yīng)用交互時(shí),所述用戶(hù)可以通過(guò)任何適當(dāng)?shù)墓ぞ邅?lái)選擇創(chuàng)建和保存任務(wù)會(huì)話。在所示出的示例中,跳轉(zhuǎn)列表2606具有包含兩個(gè)條目的菜單項(xiàng)目“任務(wù)”。第一個(gè)條目“新任務(wù)會(huì)話”使得用戶(hù)能夠創(chuàng)建新的任務(wù)會(huì)話。第二個(gè)條目“保存當(dāng)前任務(wù)”使得用戶(hù)能夠保存當(dāng)前任務(wù)。通過(guò)保存當(dāng)前任務(wù),與任務(wù)相關(guān)聯(lián)的狀態(tài)信息將會(huì)留存于web應(yīng)用目錄2608。標(biāo)題為“打開(kāi)任務(wù)會(huì)話”的菜單項(xiàng)目包含使得用戶(hù)能夠恢復(fù)或補(bǔ)充留存于web應(yīng)用目錄2608的先前任務(wù)會(huì)話的條目。在這里,有兩個(gè)先前提及以及先前保存的任務(wù)會(huì)話——波多黎各旅行和阿拉斯加旅行。從以上的示例中可以注意到,可為個(gè)別的web應(yīng)用創(chuàng)建和保存多個(gè)任務(wù)會(huì)話。在保存任務(wù)會(huì)話的時(shí)候,與web應(yīng)用相關(guān)聯(lián)的應(yīng)用ID可以與任務(wù)會(huì)話一起保存。然后,該應(yīng)用ID可用于確定哪一個(gè)web應(yīng)用將會(huì)消費(fèi)與保存的任務(wù)會(huì)話相關(guān)聯(lián)的信息。任何適當(dāng)?shù)募夹g(shù)和方法均可用于使得能夠創(chuàng)建和保存任務(wù)會(huì)話。在至少一些實(shí)施例中,系統(tǒng)可以利用或以其它方式使用與系統(tǒng)的web瀏覽器相關(guān)聯(lián)的崩潰恢復(fù)系統(tǒng)。在這種情況下,舉例來(lái)說(shuō),崩潰恢復(fù)功能可以是在用戶(hù)選擇保存當(dāng)前任務(wù)或是創(chuàng)建新的任務(wù)會(huì)話的時(shí)候被觸發(fā)的。崩潰恢復(fù)功能可以創(chuàng)建一個(gè)駐留在用戶(hù)的應(yīng)用數(shù)據(jù)目錄中并且可以用于保存與任務(wù)會(huì)話相關(guān)聯(lián)的信息的“appdata”文件。本領(lǐng)域技術(shù)人員是理解崩潰恢復(fù)系統(tǒng)的具體操作的。因此,為了簡(jiǎn)潔起見(jiàn),在這里沒(méi)有描述此類(lèi)系統(tǒng)。圖27是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)保存任務(wù)會(huì)話狀態(tài)信息的方法中的步驟的流程圖。這些步驟可以結(jié)合任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法可以由客戶(hù)機(jī)上運(yùn)行的軟件與服務(wù)器上運(yùn)行的軟件相關(guān)聯(lián)地執(zhí)行。步驟2700接收與保存任務(wù)會(huì)話狀態(tài)信息相關(guān)聯(lián)的輸入。可以接收任何適當(dāng)?shù)妮斎?。例如,所接收的輸入可以包括接收自用?hù)的輸入。作為替換或補(bǔ)充,該輸入可以包括某種類(lèi)型的自動(dòng)編程輸入。在至少一些實(shí)施例中,用戶(hù)輸入可以是經(jīng)由跳轉(zhuǎn)列表接收的。作為替換或補(bǔ)充,用戶(hù)輸入也可以是經(jīng)由快捷方式接收的。在所示出和描述的實(shí)施例中,用戶(hù)輸入指示用戶(hù)希望保存與web應(yīng)用相關(guān)聯(lián)的任務(wù)會(huì)話狀態(tài)信息。步驟2702創(chuàng)建或以其他方式訪問(wèn)web應(yīng)用目錄中的任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu)。該任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu)將被用于保存任務(wù)會(huì)話狀態(tài)信息。步驟2704將任務(wù)會(huì)話狀態(tài)信息保存在數(shù)據(jù)結(jié)構(gòu)中。該步驟可以采用任何適當(dāng)?shù)姆绞綀?zhí)行。例如,該步驟可以是在用戶(hù)選擇保存任務(wù)會(huì)話狀態(tài)信息的時(shí)候執(zhí)行的。作為替換或補(bǔ)充,該步驟可以是在用戶(hù)與web應(yīng)用進(jìn)行交互的過(guò)程中周期性執(zhí)行的。在至少一些實(shí)施例中,步驟2702和2704可以是通過(guò)使用web瀏覽器的崩潰恢復(fù)系統(tǒng)執(zhí)行的。然而應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,其他技術(shù)也是可以使用的。圖28是描述根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)恢復(fù)狀態(tài)信息已被保存的任務(wù)會(huì)話的方法中的步驟的流程圖。這些步驟可以結(jié)合任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法可以由客戶(hù)機(jī)上運(yùn)行的軟件與在服務(wù)器上運(yùn)行的軟件相關(guān)聯(lián)地執(zhí)行。步驟2800接收與恢復(fù)任務(wù)會(huì)話相關(guān)聯(lián)的用戶(hù)輸入,其中所述任務(wù)會(huì)話的狀態(tài)信 息先前已被保存。步驟2802訪問(wèn)web應(yīng)用目錄中的任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu)。如上所述,任務(wù)會(huì)話的狀態(tài)信息是保存在任務(wù)會(huì)話數(shù)據(jù)結(jié)構(gòu)中的。步驟2804從web應(yīng)用目錄中檢索任務(wù)會(huì)話狀態(tài)信息。步驟2806將會(huì)啟動(dòng)相關(guān)聯(lián)的web應(yīng)用,并且將會(huì)使用從web應(yīng)用目錄檢索的任務(wù)會(huì)話狀態(tài)信息來(lái)恢復(fù)任務(wù)會(huì)話。已經(jīng)描述了保存和重新使用任務(wù)會(huì)話狀態(tài)信息的概念,現(xiàn)在考慮如何可以在web應(yīng)用與瀏覽器之間執(zhí)行轉(zhuǎn)換。ffeb應(yīng)用與瀏覽器之間的轉(zhuǎn)換
在一個(gè)或多個(gè)實(shí)施例,web應(yīng)用可以轉(zhuǎn)換至瀏覽器體驗(yàn),以便能夠利用無(wú)法由使能所述web應(yīng)用的Web應(yīng)用模式瀏覽器提供的瀏覽器能力?;貞浺幌?,這是因?yàn)樵谝恍?shí)施例中,Web應(yīng)用模式瀏覽器是使得開(kāi)發(fā)人員能夠提供更加特定于站點(diǎn)的體驗(yàn)的消減的或無(wú)系統(tǒng)窗口控件的瀏覽器。例如,從Web應(yīng)用模式瀏覽器中排除的此類(lèi)其他能力可以包括收藏夾、工具欄和/或其他插件(add-on)。在至少一些實(shí)施例中,與個(gè)別的標(biāo)簽相關(guān)聯(lián)的內(nèi)容和狀態(tài)可被從web應(yīng)用遷移至web瀏覽器。作為替換或補(bǔ)充,與多個(gè)標(biāo)簽相關(guān)聯(lián)的內(nèi)容和狀態(tài)和/或web應(yīng)用的完整的內(nèi)容和狀態(tài)可被從web應(yīng)用遷移至web瀏覽器。作為替換或補(bǔ)充,與個(gè)別的標(biāo)簽相關(guān)聯(lián)的會(huì)話可被從web應(yīng)用遷移至瀏覽器??紤]這樣一種狀況,其中用戶(hù)從其桌面啟動(dòng)了一個(gè)web應(yīng)用,在其內(nèi)進(jìn)行了導(dǎo)航,并且在新標(biāo)簽中打開(kāi)了一個(gè)或多個(gè)鏈接。作為一個(gè)示例,考慮圖29。其中,桌面2900包括web應(yīng)用窗口 2902,所述窗口則包含用于規(guī)劃旅行的web應(yīng)用的一部分。桌面2900還包括用于從中啟動(dòng)web應(yīng)用的任務(wù)欄2904,例如通過(guò)點(diǎn)擊固定在任務(wù)欄上的相關(guān)聯(lián)的圖標(biāo)來(lái)啟動(dòng)。web應(yīng)用窗口 2902包括三個(gè)標(biāo)簽2906、2908和2910。在該實(shí)例中,用戶(hù)選擇了標(biāo)簽2906并且具有一個(gè)可被用戶(hù)打開(kāi)的鏈接“點(diǎn)擊這里來(lái)搜索航班”?,F(xiàn)在,假設(shè)用戶(hù)點(diǎn)擊相關(guān)聯(lián)的鏈接來(lái)打開(kāi)它,一旦打開(kāi)了所述鏈接,則確定其希望為在標(biāo)簽2906中顯示的網(wǎng)站創(chuàng)建一個(gè)收藏夾項(xiàng)目。在這個(gè)實(shí)例中,用戶(hù)可以打開(kāi)工具菜單2912或是使用其他某種用戶(hù)界面工具,并且選擇一個(gè)在相關(guān)聯(lián)的web瀏覽器中打開(kāi)標(biāo)簽內(nèi)容的選項(xiàng)。作為一個(gè)示例,考慮使用與圖29相同的數(shù)字的圖30。
其中,打開(kāi)工具菜單2912以便暴露其內(nèi)容3000。在該示例中為用戶(hù)提供了兩個(gè)選擇一“在瀏覽器中打開(kāi)標(biāo)簽...”以及“在瀏覽器中打開(kāi)WebApp內(nèi)容...”。第一個(gè)選擇使得用戶(hù)能夠在web瀏覽器中打開(kāi)選定標(biāo)簽的內(nèi)容。當(dāng)在web瀏覽器中打開(kāi)選定標(biāo)簽時(shí),所述標(biāo)簽的內(nèi)容和狀態(tài)將會(huì)遷移至web瀏覽器。web瀏覽器可以是一個(gè)具有打開(kāi)的實(shí)例的瀏覽器,或者可替換地 是一個(gè)已啟動(dòng)的瀏覽器。第二個(gè)選擇使得用戶(hù)能夠在web瀏覽器中打開(kāi)web應(yīng)用的完整的內(nèi)容。當(dāng)這樣做時(shí),web應(yīng)用的內(nèi)容和狀態(tài)將會(huì)遷移至web瀏覽器。任何適當(dāng)?shù)募夹g(shù)均可用于將內(nèi)容和狀態(tài)從web應(yīng)用標(biāo)簽或web應(yīng)用遷移至web瀏覽器。在至少一些實(shí)施例中,所述遷移是通過(guò)使用web瀏覽器的崩潰恢復(fù)系統(tǒng)來(lái)進(jìn)行的,例如如上所述的崩潰恢復(fù)系統(tǒng)。特別地,當(dāng)用戶(hù)指示希望將內(nèi)容和狀態(tài)從web應(yīng)用遷移至web瀏覽器時(shí),內(nèi)容和狀態(tài)可被寫(xiě)入系統(tǒng)的盤(pán),例如通過(guò)寫(xiě)包含將被遷移的相關(guān)數(shù)據(jù)的appdata文件。此外,在至少一些實(shí)例中,共享存儲(chǔ)器可以用于遷移那些通常未被web瀏覽器的崩潰恢復(fù)系統(tǒng)使用的信息或數(shù)據(jù)。例如,諸如證書(shū)和會(huì)話cookies之類(lèi)的數(shù)據(jù)可以保存在共享存儲(chǔ)器中,并且可以使用所述共享存儲(chǔ)器來(lái)使得web瀏覽器能夠使用此類(lèi)數(shù)據(jù)?!┯脩?hù)選擇了在工具菜單2912中顯示的特定選項(xiàng),那么可以將所述信息或數(shù)據(jù)遷移至web瀏覽器的當(dāng)前實(shí)例或新的實(shí)例,并且可以關(guān)閉web應(yīng)用窗口 2902中的相關(guān)聯(lián)的標(biāo)簽。在一個(gè)或多個(gè)實(shí)施例,如果正在從中遷出信息或數(shù)據(jù)的標(biāo)簽是在web應(yīng)用中打開(kāi)的唯一標(biāo)簽,那么可以在完成遷移之后關(guān)閉所述web應(yīng)用。當(dāng)web應(yīng)用和web瀏覽器跨越進(jìn)程邊界在不同進(jìn)程中運(yùn)行時(shí),上述方法同樣是適用的。換言之,使用崩潰恢復(fù)系統(tǒng)和共享存儲(chǔ)器的遷移同樣適合跨越進(jìn)程邊界。然而,在一些情況中,進(jìn)程邊界并不一定需要跨越。相反,web應(yīng)用以及后續(xù)的web瀏覽器功能可以從相同進(jìn)程內(nèi)部暴露。特別地,在這個(gè)實(shí)例中,web瀏覽器用戶(hù)界面可以結(jié)合web應(yīng)用窗口2902而被實(shí)例化和使用,并且通過(guò)Web應(yīng)用模式瀏覽器不可用的功能可以通過(guò)web瀏覽器的用戶(hù)界面來(lái)開(kāi)啟和使得可訪問(wèn)。在操作中,一種實(shí)現(xiàn)方式是如下進(jìn)行的。首先,web應(yīng)用產(chǎn)生一些崩潰恢復(fù)文件。新的瀏覽器將被啟動(dòng),并且加載來(lái)自崩潰恢復(fù)文件的崩潰恢復(fù)信息。然后,所述信息將被用于配置新瀏覽器的狀態(tài)。當(dāng)用戶(hù)在新瀏覽器內(nèi)部工作時(shí),他或她將能夠經(jīng)由瀏覽器的標(biāo)準(zhǔn)用戶(hù)界面來(lái)訪問(wèn)所有瀏覽器功能。圖31圖示了用戶(hù)已選擇將關(guān)聯(lián)于標(biāo)簽的內(nèi)容和狀態(tài)遷移至新瀏覽器實(shí)例的實(shí)施例。使用了與圖29的示例相同的數(shù)字。在這里,假設(shè)用戶(hù)為標(biāo)簽2906選擇了菜單選擇“在瀏覽器中打開(kāi)標(biāo)簽”(圖30)。作為響應(yīng),所述標(biāo)簽的內(nèi)容和狀態(tài)將會(huì)遷移到web瀏覽器的新實(shí)例,其中所述實(shí)例的相關(guān)聯(lián)的用戶(hù)界面窗口是在3100顯示的。用戶(hù)界面窗口 3100包括與已經(jīng)從web應(yīng)用遷移的標(biāo)簽相關(guān)聯(lián)的地址欄3102以及標(biāo)簽3104。應(yīng)該注意的是,在本示例中,在web應(yīng)用窗口 2902中已經(jīng)關(guān)閉了標(biāo)簽2906 (圖30),然而由于打開(kāi)了多個(gè)標(biāo)簽,因此,所述web應(yīng)用仍舊是打開(kāi)的。圖32是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。這些步驟可以結(jié)合任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法可以由客戶(hù)機(jī)上運(yùn)行的軟件與服務(wù)器上運(yùn)行的軟件相關(guān)聯(lián)地來(lái)執(zhí)行。步驟3200接收與將web應(yīng)用內(nèi)容和/或狀態(tài)遷移至web瀏覽器的處理相關(guān)聯(lián)的用戶(hù)輸入??梢越邮杖魏芜m當(dāng)?shù)妮斎?。例如,在至少一些?shí)施例中,輸入可以是通過(guò)web應(yīng)用暴露的工具菜單接收的。步驟3202將web應(yīng)用內(nèi)容和/或狀態(tài)遷移至web瀏覽器。并且任何適當(dāng)?shù)募夹g(shù)均可以用于遷移web應(yīng)用內(nèi)容和/或狀態(tài)。此外,處于任何適當(dāng)?shù)牧6鹊燃?jí)的內(nèi)容和/或狀態(tài)都是可以遷移的。例如,可以遷移與web應(yīng)用的個(gè)別的標(biāo)簽或多個(gè)標(biāo)簽相關(guān)聯(lián)的內(nèi)容和/或狀態(tài)。作為替換或補(bǔ)充,web應(yīng)用的全部?jī)?nèi)容都是可以遷移的。更進(jìn)一步,在至少一些實(shí)施例中,所述遷移可以跨越進(jìn)程邊界進(jìn)行。作為替換或補(bǔ)充,所述遷移可以在同一進(jìn)程內(nèi)部進(jìn)行。圖33是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。這些步驟可以結(jié)合任何適當(dāng)?shù)挠布④浖?、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法可以由客戶(hù)機(jī)上運(yùn)行的軟件與服務(wù)器上運(yùn)行的軟件相關(guān)聯(lián)地執(zhí)行。步驟3300接收與將web應(yīng)用內(nèi)容和/或狀態(tài)遷移至web瀏覽器的處理相關(guān)聯(lián)的用 戶(hù)輸入??梢越邮杖魏芜m當(dāng)?shù)妮斎搿@?,在至少一些?shí)施例中,輸入可以是通過(guò)web應(yīng)用暴露的工具菜單接收的。步驟3302將web瀏覽器的用戶(hù)界面實(shí)例化。步驟3304使用web瀏覽器用戶(hù)界面來(lái)暴露功能。暴露功能包括使得能夠通過(guò)web瀏覽器的用戶(hù)界面來(lái)與web應(yīng)用內(nèi)容進(jìn)行交互。在至少一些實(shí)施例中,所暴露的功能包括通過(guò)web應(yīng)用或Web應(yīng)用模式瀏覽器不可用且可用于與web應(yīng)用內(nèi)容交互的功能。在上文中提供了此類(lèi)功能的示例。在web應(yīng)用內(nèi)容和/或狀態(tài)的遷移是在同一進(jìn)程內(nèi)部進(jìn)行的情形下,圖33的方法可以是有用的。圖34是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。這些步驟可以結(jié)合任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)執(zhí)行。在至少一些實(shí)施例中,所述方法可以由客戶(hù)機(jī)上運(yùn)行的軟件與服務(wù)器上運(yùn)行的軟件相關(guān)聯(lián)地執(zhí)行。步驟3400接收與將web應(yīng)用內(nèi)容和/或狀態(tài)遷移至web瀏覽器的處理相關(guān)聯(lián)的用戶(hù)輸入。可以接收任何適當(dāng)?shù)妮斎?。例如,在至少一些?shí)施例中,輸入可以是通過(guò)web應(yīng)用暴露的工具菜單接收的。步驟3402保存與web應(yīng)用內(nèi)容相關(guān)聯(lián)的數(shù)據(jù)。該步驟可以采用任何適當(dāng)?shù)姆绞絹?lái)執(zhí)行。舉例來(lái)說(shuō),在至少一些實(shí)施例中,至少一些數(shù)據(jù)可被寫(xiě)入系統(tǒng)的盤(pán)。任何適當(dāng)?shù)募夹g(shù)均可用于將數(shù)據(jù)寫(xiě)入系統(tǒng)的盤(pán)。舉個(gè)例子,在至少一些實(shí)施例中,web瀏覽器的崩潰恢復(fù)系統(tǒng)可以用于將數(shù)據(jù)寫(xiě)入系統(tǒng)的盤(pán)。更進(jìn)一步,在至少一些實(shí)施例中,步驟3402可以通過(guò)使用在web應(yīng)用與web瀏覽器之間共享的共享存儲(chǔ)器來(lái)執(zhí)行。步驟3404確定web瀏覽器是否打開(kāi)。如果web瀏覽器是打開(kāi)的,那么步驟3406在web瀏覽器中使用保存的數(shù)據(jù)來(lái)呈現(xiàn)web應(yīng)用內(nèi)容。另一方面,如果web瀏覽器沒(méi)有打開(kāi),那么步驟3408將會(huì)啟動(dòng)web瀏覽器,并且返回步驟3406,以便使用保存的數(shù)據(jù)來(lái)呈現(xiàn)web應(yīng)用內(nèi)容。從瀏覽器中創(chuàng)津暫時(shí)件web應(yīng)用
不同的實(shí)施例使得能夠創(chuàng)建一個(gè)或多個(gè)所謂的暫時(shí)性web應(yīng)用。在至少一些實(shí)施例中,所述暫時(shí)性web應(yīng)用可以是在沒(méi)有如上所述將暫時(shí)性web應(yīng)用固定在任務(wù)欄上或以其他方式將暫時(shí)性web應(yīng)用的相關(guān)文件或標(biāo)記整合至客戶(hù)機(jī)桌面的情況下創(chuàng)建的。舉例來(lái)說(shuō),暫時(shí)性web應(yīng)用有可能不具有整合在客戶(hù)機(jī)桌面上且提供了一種使得能夠啟動(dòng)或重新啟動(dòng)它的方式的任何用戶(hù)界面工具,例如開(kāi)始菜單中的快捷方式、客戶(hù)機(jī)任務(wù)欄上的快捷方式圖標(biāo)等等。然而,在這種實(shí)例中,用戶(hù)可以從與暫時(shí)性web應(yīng)用相關(guān)聯(lián)的網(wǎng)站啟動(dòng)所述暫時(shí)性web應(yīng)用,并且可以在如上所述地安裝或整合了所述web應(yīng)用的情況下訪問(wèn)所述web應(yīng)用提供的相同功能。然后,在使用了暫時(shí)性web應(yīng)用之后,用戶(hù)可以將其關(guān)閉。在至少一些實(shí)施例中,一旦關(guān)閉了暫時(shí)性web應(yīng)用,貝U用戶(hù)將不再能夠訪問(wèn)所述web應(yīng)用的特定實(shí)例,由此將會(huì)使得不能從客戶(hù)機(jī)桌面的任務(wù)欄或開(kāi)始菜單重新啟動(dòng)所述暫時(shí)性web應(yīng)用。一種用于這樣做的方式是在用戶(hù)初始從相關(guān)聯(lián)的網(wǎng)站啟動(dòng)所述web應(yīng)用的時(shí)候刪除為其創(chuàng)建的文件或進(jìn)程。在一些實(shí)施例中,暫時(shí)性web應(yīng)用可以被變換成已安裝的web應(yīng)用,由此可以從客戶(hù)機(jī)桌面提供針對(duì)所述web應(yīng)用的未來(lái)訪問(wèn)。作為示例,考慮圖35,該示了暫時(shí)性web應(yīng)用與瀏覽器之間的關(guān)系。在這里,瀏覽器3500使得能夠通過(guò)帶有標(biāo)簽的系統(tǒng)來(lái)訪問(wèn)多個(gè)網(wǎng)頁(yè),其中標(biāo)簽3510與網(wǎng)站“任何搜索頁(yè)面”相關(guān)聯(lián),并且標(biāo)簽3520與“第二個(gè)打開(kāi)頁(yè)面”相關(guān)聯(lián)。在一個(gè)或多個(gè)實(shí)施例中,暫時(shí)性web應(yīng)用可以是從打開(kāi)的頁(yè)面創(chuàng)建的。在圖35中,暫時(shí)性web應(yīng)用3530是通過(guò)用戶(hù)選擇標(biāo)簽3510以及在桌面上將所述選擇拖放至瀏覽器3500以外而被產(chǎn)生或創(chuàng)建的。當(dāng)發(fā)生這種情況時(shí),可以在臨時(shí)位置創(chuàng)建暫時(shí)性web應(yīng)用文件。
然而應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,暫時(shí)性web應(yīng)用是可以采用其他方式產(chǎn)生的。例如,瀏覽器3500可以具有下拉菜單,以便于選擇網(wǎng)頁(yè)以及后續(xù)產(chǎn)生相關(guān)聯(lián)的暫時(shí)性web應(yīng)用。在本文的上下文中,暫時(shí)性web應(yīng)用是那些并非按照以上在本文中描述的方式安裝在客戶(hù)機(jī)系統(tǒng)上的web應(yīng)用。然而,網(wǎng)站仍舊可以在暫時(shí)性web應(yīng)用中執(zhí)行可以在已安裝的web應(yīng)用中執(zhí)行的相同的功能,并且提供針對(duì)所述功能的訪問(wèn)。例如,網(wǎng)站可以修改暫時(shí)性web應(yīng)用的獨(dú)立跳轉(zhuǎn)列表,設(shè)定和清除覆蓋圖標(biāo)等等。作為替換或補(bǔ)充,暫時(shí)性web應(yīng)用可以支持與已安裝的web應(yīng)用相同的行為,例如如上所述提供從暫時(shí)性web應(yīng)用內(nèi)部打開(kāi)的獨(dú)立的標(biāo)簽或窗口集合。圖36圖示了描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可以結(jié)合任何適當(dāng)?shù)挠布④浖?、固件或是其組合來(lái)實(shí)現(xiàn)。在至少一些實(shí)施例中,該方法的多個(gè)方面可以由適當(dāng)配置的web瀏覽器和/或客戶(hù)機(jī)設(shè)備上的軟件模塊來(lái)實(shí)現(xiàn),例如圖I中的那些。步驟3600接收對(duì)于可以從中獲取web應(yīng)用的網(wǎng)站的選擇。該步驟可以采用任何適當(dāng)方式來(lái)完成,例如通過(guò)在帶有標(biāo)簽的web瀏覽器中選擇標(biāo)簽,通過(guò)下拉菜單等等。一旦接收到對(duì)于網(wǎng)站的選擇,則步驟3602將會(huì)接收在客戶(hù)機(jī)設(shè)備上創(chuàng)建作為暫時(shí)性web應(yīng)用的web應(yīng)用的輸入。在一個(gè)或多個(gè)實(shí)施例中,該處理可以包括接收包含了可用于產(chǎn)生web應(yīng)用的請(qǐng)求或其他信息的消息或調(diào)用。在其他實(shí)施例中,該處理可以包括接收從用戶(hù)拖放與網(wǎng)站相關(guān)聯(lián)的某個(gè)標(biāo)記的處理中產(chǎn)生的輸入。步驟3604創(chuàng)建一個(gè)與所選擇的網(wǎng)站相關(guān)聯(lián)的暫時(shí)性web應(yīng)用。在一些實(shí)施例中,倉(cāng)Il建暫時(shí)性web應(yīng)用的處理將會(huì)產(chǎn)生web應(yīng)用文件和/或進(jìn)程,而不會(huì)將其或是相關(guān)聯(lián)的任何標(biāo)記整合在客戶(hù)機(jī)桌面或開(kāi)始菜單上。例如,相關(guān)聯(lián)的文件可以保存在與放置整合的web應(yīng)用文件的位置不同的臨時(shí)文件位置。此外,在至少一些實(shí)施例中,暫時(shí)性web應(yīng)用的創(chuàng)建可以包括將網(wǎng)站狀態(tài)從瀏覽器轉(zhuǎn)移到暫時(shí)性web應(yīng)用。圖37圖示了描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可以結(jié)合任何適當(dāng)?shù)挠布④浖⒐碳蚴瞧浣M合來(lái)實(shí)現(xiàn)。在至少一些實(shí)施例中,該方法的多個(gè)方面可以由適當(dāng)配置的web瀏覽器和/或軟件模塊來(lái)實(shí)現(xiàn),例如圖I中的那些。
步驟3700接收關(guān)閉暫時(shí)性web應(yīng)用的輸入。該步驟可以采用任何適當(dāng)?shù)姆绞絹?lái)執(zhí)行。例如,在一個(gè)實(shí)施例中,該處理可以包括從用戶(hù)那里接收在打開(kāi)的暫時(shí)性web應(yīng)用上選擇關(guān)閉按鈕的輸入。在另一個(gè)實(shí)施例中,該處理可以包括接收基于用戶(hù)在暫時(shí)性web應(yīng)用的下拉菜單上選擇關(guān)閉選項(xiàng)的輸入。一旦接收到關(guān)閉暫時(shí)性web應(yīng)用的輸入,則步驟3702將會(huì)關(guān)閉所述暫時(shí)性web應(yīng)用。關(guān)閉暫時(shí)性web應(yīng)用的處理可以包括刪除或移除暫時(shí)性web應(yīng)用的相關(guān)聯(lián)的文件和進(jìn)程。由此,一旦關(guān)閉了暫時(shí)性web應(yīng)用,那么如下所述,在沒(méi)有以如上所述的方式再次對(duì)其進(jìn)行訪問(wèn)或是將其作為非暫時(shí)性web應(yīng)用進(jìn)行安裝的情況下,用戶(hù)將不再能訪問(wèn)其功能。已經(jīng)描述了暫時(shí)性web應(yīng)用的創(chuàng)建和刪除,現(xiàn)在考慮如何可以根據(jù)一個(gè)或多個(gè)實(shí)施例來(lái)將暫時(shí)性web應(yīng)用變換成固定或安裝的web應(yīng)用。將暫時(shí)性web應(yīng)用變換成安裝的web應(yīng)用
在一個(gè)或多個(gè)實(shí)施例中,暫時(shí)性web應(yīng)用可被變換成安裝或整合的web應(yīng)用,以便允許·在關(guān)閉了 web應(yīng)用之后永久性訪問(wèn)所述web應(yīng)用。一旦被變換,則可以認(rèn)為所述暫時(shí)應(yīng)web應(yīng)用是非暫時(shí)性web應(yīng)用。圖38圖示了包含跳轉(zhuǎn)列表的暫時(shí)性web應(yīng)用。任務(wù)欄3800顯示了在客戶(hù)機(jī)設(shè)備上打開(kāi)和運(yùn)行的多個(gè)程序。暫時(shí)性web應(yīng)用3810是一個(gè)源于程序3840的web應(yīng)用。跳轉(zhuǎn)列表3820與暫時(shí)性web應(yīng)用3810相關(guān)聯(lián)。與安裝或整合的web應(yīng)用的情況一樣,跳轉(zhuǎn)列表3820具有與已安裝的web應(yīng)用相關(guān)聯(lián)的所有可能功能。此外,跳轉(zhuǎn)列表3820包括名稱(chēng)為“將這個(gè)程序固定在任務(wù)欄上”的項(xiàng)目3830。選擇該選項(xiàng)將web應(yīng)用固定在客戶(hù)機(jī)任務(wù)欄上,由此可以如上所述地將web應(yīng)用以及相關(guān)聯(lián)的用戶(hù)界面工具安裝在客戶(hù)機(jī)桌面上。這樣做使得現(xiàn)在已不再是暫時(shí)性的web應(yīng)用能夠從桌面重新啟動(dòng)。然而,應(yīng)該意識(shí)到和理解的是,在不脫離請(qǐng)求保護(hù)的主題的精神和范圍的情況下,任何適當(dāng)?shù)募夹g(shù)均可用于將暫時(shí)性web應(yīng)用變換成非暫時(shí)性web應(yīng)用。舉例來(lái)說(shuō),在一些實(shí)施例中,暫時(shí)性web應(yīng)用可被添加至客戶(hù)機(jī)桌面的開(kāi)始菜單,以便整合和安裝所述web應(yīng)用。在另一個(gè)實(shí)施例中,暫時(shí)性web應(yīng)用可以具有下拉菜單,所述下拉菜單具有用于啟動(dòng)安裝過(guò)程的選項(xiàng)。當(dāng)然,有多種方式可以用于將暫時(shí)性web應(yīng)用變換成非暫時(shí)性web應(yīng)用。web應(yīng)用超級(jí)主頁(yè)按鈕
在與web應(yīng)用交互的時(shí)候,除了直接與關(guān)聯(lián)于web應(yīng)用的網(wǎng)站相關(guān)聯(lián)的域之外,用戶(hù)還可以導(dǎo)航至其他域。例如,用戶(hù)可以啟動(dòng)電子郵件web應(yīng)用,并且可以沿著外部鏈接到達(dá)另一個(gè)站點(diǎn),例如新聞、購(gòu)物或娛樂(lè)站點(diǎn)。在一個(gè)或多個(gè)實(shí)施例中,web應(yīng)用主頁(yè)按鈕是作為用戶(hù)界面體驗(yàn)的一部分提供的。所述web應(yīng)用主頁(yè)按鈕服務(wù)于數(shù)個(gè)目的。首先,web應(yīng)用主頁(yè)按鈕指示了特定web應(yīng)用模式瀏覽器(也被稱(chēng)為“站點(diǎn)模式瀏覽器”)實(shí)例的目的是用于相關(guān)聯(lián)的web應(yīng)用。所述web應(yīng)用主頁(yè)按鈕可以使用商標(biāo)或其他視覺(jué)工具來(lái)傳達(dá)該信息。其次,web應(yīng)用主頁(yè)按鈕使得用戶(hù)能夠通過(guò)簡(jiǎn)單地點(diǎn)擊web應(yīng)用主頁(yè)按鈕來(lái)簡(jiǎn)單快速地開(kāi)始返回到其web應(yīng)用體驗(yàn)的開(kāi)端,以便訪問(wèn)開(kāi)始URL。這樣做緩解了如下問(wèn)題為了訪問(wèn)相關(guān)聯(lián)的網(wǎng)站的開(kāi)始URL,必須關(guān)閉和重新啟動(dòng)特定web應(yīng)用。在至少一些實(shí)施例中,與開(kāi)始URL相關(guān)聯(lián)的值默認(rèn)是從供用戶(hù)拖放任務(wù)欄上的網(wǎng)站圖標(biāo)的頁(yè)面中確定的。作為替換,web開(kāi)發(fā)人員可以定義一個(gè)HTML標(biāo)記符,所述標(biāo)記符描述作為其頁(yè)面一部分的開(kāi)始URL。這樣做允許其定義一個(gè)替換的開(kāi)始URL,其中所述替換的開(kāi)始URL不同于他們當(dāng)前查看的頁(yè)面。作為示例,考慮圖39。其中,Web應(yīng)用模式瀏覽器3900包括其中出現(xiàn)了網(wǎng)站的URL的地址欄3902。此外,web應(yīng)用主頁(yè)按鈕3904是在后退和前進(jìn)導(dǎo)航按鈕附近出現(xiàn)的。當(dāng)用戶(hù)導(dǎo)航至與web應(yīng)用相關(guān)聯(lián)的網(wǎng)站以外的域時(shí),他們可以在任何時(shí)間簡(jiǎn)單地點(diǎn)擊web應(yīng)用主頁(yè)按鈕3904,以便導(dǎo)航至如在web應(yīng)用文件中描述的網(wǎng)站的開(kāi)始URL。更進(jìn)一步,在至少一些實(shí)施例中,為了在web應(yīng)用而不是默認(rèn)瀏覽器內(nèi)部向用戶(hù)傳遞其上下文,用于導(dǎo)航的后退和前進(jìn)按鈕可以通過(guò)web應(yīng)用的主頁(yè)按鈕來(lái)使用或提取站點(diǎn)商標(biāo)的基色,以便呈現(xiàn)所述網(wǎng)站的標(biāo)識(shí)。此外,可以使用HTML標(biāo)記符以便使得網(wǎng)站能夠?qū)⑦@些按鈕的顏色指定成其HTML頁(yè)面的一部分。圖40是描述了根據(jù)一個(gè)或多個(gè)實(shí)施例的方法中的步驟的流程圖。該方法可以結(jié)合任何適當(dāng)?shù)挠布?、軟件、固件或是其組合來(lái)實(shí)現(xiàn)。在至少一些實(shí)施例中,該方法可以由站點(diǎn)模式瀏覽器實(shí)現(xiàn),例如上面所描述的那些。 步驟4000將站點(diǎn)模式瀏覽器導(dǎo)航至與安裝在客戶(hù)機(jī)設(shè)備上的web應(yīng)用相關(guān)聯(lián)的網(wǎng)站開(kāi)始URL。該步驟可以采用以上提供了實(shí)例的任何適當(dāng)方式來(lái)執(zhí)行。步驟4002導(dǎo)航至不同的網(wǎng)頁(yè)。所述網(wǎng)頁(yè)既可以與關(guān)聯(lián)于開(kāi)始URL的網(wǎng)站相關(guān)聯(lián),也可以不與之關(guān)聯(lián)。步驟4004接收對(duì)于web應(yīng)用主頁(yè)按鈕的選擇。響應(yīng)于接收到了對(duì)于web應(yīng)用主頁(yè)按鈕的選擇,步驟4006會(huì)將站點(diǎn)模式瀏覽器導(dǎo)航至網(wǎng)站開(kāi)始URL。例示系統(tǒng)
圖41圖示了可用于實(shí)現(xiàn)如上所述的不同實(shí)施例的例示計(jì)算設(shè)備4100。舉例來(lái)說(shuō),計(jì)算設(shè)備4100可以是圖I的計(jì)算設(shè)備102或是其他任何適當(dāng)?shù)挠?jì)算設(shè)備。計(jì)算設(shè)備4100包括一個(gè)或多個(gè)處理器或處理單元4102、一個(gè)或多個(gè)存儲(chǔ)器和/或存儲(chǔ)組件4104、一個(gè)或多個(gè)輸入/輸出(I/O)設(shè)備4106以及允許不同的組件和設(shè)備相互通信的總線4108。總線4108代表任意的若干種總線結(jié)構(gòu)中的一種或多種,這其中包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外設(shè)總線、加速圖形端口以及使用了多種總線架構(gòu)中的任何一種的處理器或局部總線。總線4108可以包括有線和/或無(wú)線總線。存儲(chǔ)器/存儲(chǔ)組件4104代表一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)媒體。組件4104可以包括易失媒體(例如隨機(jī)存取存儲(chǔ)器(RAM))和/或非易失媒體(例如只讀存儲(chǔ)器(ROM)、閃存、光盤(pán)、磁盤(pán)等等)。組件4104可以包括固定媒體(例如RAM、R0M、固定硬盤(pán)驅(qū)動(dòng)器等等)以及可移除媒體(例如閃存驅(qū)動(dòng)器、可移除硬盤(pán)驅(qū)動(dòng)器、光盤(pán)等等)?!獋€(gè)或多個(gè)輸入/輸出設(shè)備4106允許用戶(hù)將命令和信息輸入計(jì)算設(shè)備4100,并且還允許將信息呈現(xiàn)給用戶(hù)和/或其他組件或設(shè)備。輸入設(shè)備的示例包括鍵盤(pán)、光標(biāo)控制設(shè)備(例如鼠標(biāo))、麥克風(fēng)、掃描儀等等。輸出設(shè)備的示例包括顯示設(shè)備(例如監(jiān)視器或投影儀)、揚(yáng)聲器、打印機(jī)、網(wǎng)卡等等。在這里,不同的技術(shù)可以在軟件或程序模塊的一般上下文中描述。通常,軟件包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。這些模塊和技術(shù)的實(shí)現(xiàn)可被保存在某種形式的計(jì)算機(jī)可讀媒體上或者在它們之間進(jìn)行傳送。計(jì)算機(jī)可讀媒體可以是任何能被計(jì)算設(shè)備訪問(wèn)的可用介質(zhì)或媒體。作為示例而不是限制,計(jì)算機(jī)可讀媒體可以包括“計(jì)算機(jī)可讀存儲(chǔ)媒體”?!坝?jì)算機(jī)可讀存儲(chǔ)媒體”包括以任何方法或技術(shù)實(shí)現(xiàn)的用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類(lèi)的信息的易失和非易失以及可移除和不可移除媒體。計(jì)算機(jī)可讀存儲(chǔ)媒體包括但不局限于RAM、ROM、EEPR0M、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多用途盤(pán)(DVD )或其他光存儲(chǔ)裝置、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)裝置或其他磁存儲(chǔ)設(shè)備、或是可以用于存儲(chǔ)期望信息并能被計(jì)算機(jī)訪問(wèn)的其他任何介質(zhì)。結(jié)論
不同實(shí)施例提供了一種允許終端用戶(hù)在其桌面上安裝web應(yīng)用和網(wǎng)站的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以使用客戶(hù)端代碼來(lái)允許與網(wǎng)站關(guān)聯(lián)的開(kāi)發(fā)人員定義與用戶(hù)交互相關(guān)聯(lián)的邊界,并且讓運(yùn)行時(shí)引擎來(lái)實(shí)施這些邊界。在至少一些實(shí)施例中,開(kāi)發(fā)人員可以通過(guò)JavaScript代碼來(lái)提供不同配置,以便用于創(chuàng)建開(kāi)始菜單快捷方式,導(dǎo)航和所謂的跳轉(zhuǎn)列表整合,以及多種其他功能。雖然用特定于結(jié)構(gòu)特征和/或方法操作的語(yǔ)言描述了本主題,但是應(yīng)該理解,所附權(quán)利要求中定義的主題不必局限于上述具體特征或操作。相反,以上描述的具體特征和 操作是作為用于實(shí)現(xiàn)權(quán)利要求的例示形式公開(kāi)的。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括接收與將Web應(yīng)用內(nèi)容和/或狀態(tài)遷移到web瀏覽器相關(guān)聯(lián)的用戶(hù)輸入,所述web應(yīng)用內(nèi)容和/或狀態(tài)與整合在客戶(hù)機(jī)設(shè)備上的web應(yīng)用相關(guān)聯(lián);以及響應(yīng)于所述接收,將web應(yīng)用內(nèi)容和/或狀態(tài)遷移到web瀏覽器。
2.權(quán)利要求I的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述接收包括通過(guò)所述web應(yīng)用暴露的工具菜單接收用戶(hù)輸入。
3.權(quán)利要求I的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述遷移包括遷移與web應(yīng)用標(biāo)簽相關(guān)聯(lián)的內(nèi)容和/或狀態(tài)。
4.權(quán)利要求I的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述遷移包括遷移與多個(gè)web應(yīng)用標(biāo)簽相關(guān)聯(lián)的內(nèi)容和/或狀態(tài)。
5.權(quán)利要求I的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述遷移包括跨越進(jìn)程邊界遷移內(nèi)容和/或狀態(tài)。
6.權(quán)利要求I的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中,所述遷移包括在相同的進(jìn)程內(nèi)遷移內(nèi)容和/ 或狀態(tài)。
7.一個(gè)或多個(gè)包含了計(jì)算機(jī)可讀指令的計(jì)算機(jī)可讀存儲(chǔ)媒體,在被運(yùn)行的時(shí)候,所述計(jì)算機(jī)可讀指令實(shí)現(xiàn)一種方法,該方法包括接收與將web應(yīng)用內(nèi)容和/或狀態(tài)遷移到web瀏覽器相關(guān)聯(lián)的用戶(hù)輸入,所述web應(yīng)用內(nèi)容和/或狀態(tài)與整合在客戶(hù)機(jī)設(shè)備上的web應(yīng)用相關(guān)聯(lián);保存與所述web應(yīng)用內(nèi)容相關(guān)聯(lián)的數(shù)據(jù);以及使用保存的數(shù)據(jù)在web瀏覽器中呈現(xiàn)web應(yīng)用內(nèi)容。
8.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述接收包括通過(guò)所述web應(yīng)用暴露的工具菜單接收用戶(hù)輸入。
9.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述保存包括使用與web瀏覽器相關(guān)聯(lián)的崩潰恢復(fù)系統(tǒng)來(lái)保存所述數(shù)據(jù)中的至少一些數(shù)據(jù)。
10.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述保存包括使用與web瀏覽器相關(guān)聯(lián)的崩潰恢復(fù)系統(tǒng)來(lái)保存所述數(shù)據(jù)中的至少一些數(shù)據(jù),其中所述保存還包括使用共享存儲(chǔ)器保存所述數(shù)據(jù)中不同于所述至少一些數(shù)據(jù)的數(shù)據(jù)。
11.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述保存包括使用共享存儲(chǔ)器保存所述數(shù)據(jù)中的至少一些數(shù)據(jù)。
12.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中所述保存包括使用共享存儲(chǔ)器保存所述數(shù)據(jù)中的至少一些數(shù)據(jù),其中所述數(shù)據(jù)中的所述至少一些數(shù)據(jù)包括證書(shū)和/或會(huì)話 cookies。
13.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,還包括確定web瀏覽器是否打開(kāi), 如果沒(méi)有打開(kāi),在使用保存的數(shù)據(jù)來(lái)呈現(xiàn)所述web應(yīng)用內(nèi)容之前啟動(dòng)所述web瀏覽器。
14.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中,所述使用包括使用所述保存的數(shù)據(jù)呈現(xiàn)與單個(gè)標(biāo)簽相關(guān)聯(lián)的web應(yīng)用內(nèi)容。
15.權(quán)利要求7的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)媒體,其中,所述使用包括使用所述保存的數(shù)據(jù)呈現(xiàn)與單個(gè)標(biāo)簽相關(guān)聯(lián)的web應(yīng)用內(nèi)容,并且還包括響應(yīng)于所述使用,關(guān)閉所述單個(gè)標(biāo)簽。
全文摘要
不同實(shí)施例提供了一種允許終端用戶(hù)在其桌面上安裝web應(yīng)用和網(wǎng)站的機(jī)制。根據(jù)一個(gè)或多個(gè)實(shí)施例,可以使用客戶(hù)端代碼來(lái)允許與網(wǎng)站關(guān)聯(lián)的開(kāi)發(fā)人員定義與用戶(hù)交互相關(guān)聯(lián)的邊界,并且讓運(yùn)行時(shí)引擎來(lái)實(shí)施這些邊界。在至少一些實(shí)施例中,開(kāi)發(fā)人員可以通過(guò)JavaScript代碼和/或HTML標(biāo)記來(lái)提供不同配置,以便用于創(chuàng)建開(kāi)始菜單快捷方式、導(dǎo)航以及所謂的跳轉(zhuǎn)列表整合。
文檔編號(hào)G06F9/445GK102947792SQ201180028813
公開(kāi)日2013年2月27日 申請(qǐng)日期2011年5月27日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者I.希勒里奧, A.H.馬列克, B.A.摩根, J.T.金 申請(qǐng)人:微軟公司