本發(fā)明涉及計算機技術領域,尤其涉及一種操作頁面中的圖片的方法和裝置。
背景技術:
圖片,作為頁面中的重要資源,其擔任的角色越來越重要。然而,對于頁面中的圖片的處理卻相對落后,例如,當用戶對頁面中的圖片進行保存、查看或分享的時候,所需的操作較為繁瑣。
以分享頁面圖片為例:隨著移動互聯(lián)網(wǎng)的發(fā)展,智能手機越來越普及,人與人之間進行社交的場合和需求也越來越多。分享是社交在移動終端上的一個重要體現(xiàn),無論是微博、微信還是其他的社交平臺,都支持分享功能。圖片是所有可分享內(nèi)容中的一個重要介質(zhì),具備其他介質(zhì)無法表達的功能。能夠方便、快捷且有針對性地把瀏覽頁面中的圖片資源分享到這些平臺將能為用戶提供良好的使用體驗。
目前通常的做法是將包含圖片資源的頁面進行分享,而不是僅針對頁面中的圖片資源進行分享。這種現(xiàn)有方法的主要問題在于:(1)不能針對網(wǎng)頁中的圖片資源進行有針對性的分享。(2)缺少一種對網(wǎng)頁中的圖片進行分享的交互方式。
因此,如何有效操作頁面中的圖片資源,成為本領域技術人員亟需解決的問題之一。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種操作頁面中的圖片的方法和裝置。
根據(jù)本發(fā)明的一個方面,提供了一種操作頁面中的圖片的方法,其中,該方法包括以下步驟:
a在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,其中,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能;
b獲取用戶對所述頁面中的圖片的操作;
c根據(jù)所述操作,自所述緩存中獲取所述圖片;
d將所述圖片發(fā)送至與所述操作相對應的應用。
根據(jù)本發(fā)明的另一個方面,還提供了一種操作頁面中的圖片的操作裝置,其中,該操作裝置包括:
托管緩存裝置,用于在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,其中,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能;
操作獲取裝置,用于獲取用戶對所述頁面中的圖片的操作;
圖片獲取裝置,用于根據(jù)所述操作,自所述緩存中獲取所述圖片;
圖片發(fā)送裝置,用于將所述圖片發(fā)送至與所述操作相對應的應用。
與現(xiàn)有技術相比,本發(fā)明當加載頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能,在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,根據(jù)用戶對該圖片的操作,從緩存中直接獲取該圖片,從而實現(xiàn)對該頁面中的圖片的分享、查看、保存等功能,與現(xiàn)有技術中操作網(wǎng)頁或者重新下載圖片資源再進行操作相比,本發(fā)明能夠更加快捷、有效、有針對性地為用戶提供對頁面中的圖片的操作手段。本發(fā)明不需要重新下載圖片資源,而是使用頁面的緩存結果,并且重新下載圖片資源可能會有下載失敗的風險。若用戶選擇分享功能,其分享完圖片以后,其關注者不需要打開網(wǎng)頁就可以直接看到圖片。專注的圖片分享功能也是一種輕分享,為用戶提供了更加便捷的操作入口,提升了產(chǎn)品的用戶體驗,真正體現(xiàn)以用戶為中心。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1示出根據(jù)本發(fā)明一個方面的用于操作頁面中的圖片的裝置的 結構示意圖;
圖2示出根據(jù)本發(fā)明另一個方面的用于操作頁面中的圖片的方法的流程示意圖。
附圖中相同或相似的附圖標記代表相同或相似的部件。
具體實施方式
在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然流程圖將各項操作描述成順序的處理,但是其中的許多操作可以被并行地、并發(fā)地或者同時實施。此外,各項操作的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應于方法、函數(shù)、規(guī)程、子例程、子程序等等。
在上下文中所稱“計算機設備”,也稱為“電腦”,是指可以通過運行預定程序或指令來執(zhí)行數(shù)值計算和/或邏輯計算等預定處理過程的智能電子設備,其可以包括處理器與存儲器,由處理器執(zhí)行在存儲器中預存的存續(xù)指令來執(zhí)行預定處理過程,或是由ASIC、FPGA、DSP等硬件執(zhí)行預定處理過程,或是由上述二者組合來實現(xiàn)。計算機設備包括但不限于服務器、個人電腦、筆記本電腦、平板電腦、智能手機等。
所述計算機設備包括用戶設備與網(wǎng)絡設備。其中,所述用戶設備包括但不限于電腦、智能手機、PDA等;所述網(wǎng)絡設備包括但不限于單個網(wǎng)絡服務器、多個網(wǎng)絡服務器組成的服務器組或基于云計算(Cloud Computing)的由大量計算機或網(wǎng)絡服務器構成的云,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。其中,所述計算機設備可單獨運行來實現(xiàn)本發(fā)明,也可接入網(wǎng)絡并通過與網(wǎng)絡中的其他計算機設備的交互操作來實現(xiàn)本發(fā)明。其中,所述計算機設備所處的網(wǎng)絡包括但不限于互聯(lián)網(wǎng)、廣域網(wǎng)、城域網(wǎng)、局域網(wǎng)、VPN網(wǎng)絡等。
需要說明的是,所述用戶設備、網(wǎng)絡設備和網(wǎng)絡等僅為舉例,其 他現(xiàn)有的或今后可能出現(xiàn)的計算機設備或網(wǎng)絡如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并以引用方式包含于此。
后面所討論的方法(其中一些通過流程圖示出)可以通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任意組合來實施。當用軟件、固件、中間件或微代碼來實施時,用以實施必要任務的程序代碼或代碼段可以被存儲在機器或計算機可讀介質(zhì)(比如存儲介質(zhì))中。(一個或多個)處理器可以實施必要的任務。
這里所公開的具體結構和功能細節(jié)僅僅是代表性的,并且是用于描述本發(fā)明的示例性實施例的目的。但是本發(fā)明可以通過許多替換形式來具體實現(xiàn),并且不應當被解釋成僅僅受限于這里所闡述的實施例。
應當理解的是,雖然在這里可能使用了術語“第一”、“第二”等等來描述各個單元,但是這些單元不應當受這些術語限制。使用這些術語僅僅是為了將一個單元與另一個單元進行區(qū)分。舉例來說,在不背離示例性實施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術語“和/或”包括其中一個或更多所列出的相關聯(lián)項目的任意和所有組合。
應當理解的是,當一個單元被稱為“連接”或“耦合”到另一單元時,其可以直接連接或耦合到所述另一單元,或者可以存在中間單元。與此相對,當一個單元被稱為“直接連接”或“直接耦合”到另一單元時,則不存在中間單元。應當按照類似的方式來解釋被用于描述單元之間的關系的其他詞語(例如“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術語僅僅是為了描述具體實施例而不意圖限制示例性實施例。除非上下文明確地另有所指,否則這里所使用的單數(shù)形式“一個”、“一項”還意圖包括復數(shù)。還應當理解的是,這里所使用的術語“包括”和/或“包含”規(guī)定所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或添加一個或更多其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
還應當提到的是,在一些替換實現(xiàn)方式中,所提到的功能/動作可以按照不同于附圖中標示的順序發(fā)生。舉例來說,取決于所涉及的功能/動作,相繼示出的兩幅圖實際上可以基本上同時執(zhí)行或者有時可以按照相反的順序來執(zhí)行。
下面結合附圖對本發(fā)明作進一步詳細描述。
圖1示出根據(jù)本發(fā)明一個方面的用于操作頁面中的圖片的裝置的結構示意圖。
操作裝置1包括托管緩存裝置101、操作獲取裝置102、圖片獲取裝置103和圖片發(fā)送裝置104。
在此,操作裝置1例如位于用戶設備中,特別地,位于移動設備中。所述移動設備包括但不限于智能手機、掌上電腦、PDA、智能手表等。本領域技術人員應能理解,所述移動設備僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的移動設備如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并以引用方式包含于此。
以下以該操作裝置1位于移動設備中為例進行詳細描述。
其中,托管緩存裝置101在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,其中,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能。
在此,“托管”一詞意指將事物移動或者放置在一起,本文中指將頁面中的圖片存儲于緩存中。
具體地,在頁面加載過程中,托管緩存裝置101托管該頁面中的圖片,實現(xiàn)新的緩存類MyURLCache,該類重寫NSURLCache的方法,然后將該類的實例注冊為全局的緩存管理對象,以將該頁面中的圖片存于緩存中。在此,該新的緩存類例如繼承自NSURLCache,但是重寫相關的方法,示例如下:
-(NSCachedURLResponse*)cachedResponseForRequest:(NSURLRe quest*)request
-(void)storeCachedResponse:(NSCachedURLResponse*)cachedResp onse forRequest:(NSURLRequest*)request
在此,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能,例例如,ios系統(tǒng)的瀏覽內(nèi)核支持托管緩存功能,則在ios系統(tǒng)中,其頁面在加載的過程中,托管緩存裝置101可以將該頁面中的圖片托管并存于緩存中。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的托管并緩存圖片的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
操作獲取裝置102獲取用戶對所述頁面中的圖片的操作。
具體地,在頁面部分或全部加載完成后,用戶通過與移動設備的交互,對該頁面中的圖片進行了一定的操作,例如,用戶通過與該移動設備的交互,對該頁面中的圖片進行了點擊、長按、滑動等操作,欲對該圖片進行查看、保存、分享等操作,操作獲取裝置102通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取了該用戶對該頁面中的圖片的操作。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的獲取用戶對頁面中的圖片的操作的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
圖片獲取裝置103根據(jù)所述操作,自所述緩存中獲取所述圖片。
具體地,圖片獲取裝置103根據(jù)操作獲取裝置102所獲取的用戶對圖片的操作,自緩存中獲取該托管緩存裝置101存于該緩存中的圖片。例如,操作獲取裝置102獲取該用戶對該頁面中的圖片進行了諸如點擊、長按、滑動等操作,欲對該圖片進行查看、保存、分享;而之前托管緩存裝置101已在該頁面的加載過程中,將該圖片存于緩存中,則圖片獲取裝置103根據(jù)用戶的這些操作,自該緩存中獲取該圖片。
在此,圖片獲取裝置103例如根據(jù)用戶的上述操作,獲取該圖片的標識,例如,圖片名稱、圖片對應的URL等,進而,根據(jù)該標識,自 緩存中獲取該圖片。該緩存中例如存儲有該圖片及其對應的標識的映射關系。
圖片發(fā)送裝置104將所述圖片發(fā)送至與所述操作相對應的應用。
具體地,用戶對頁面中的圖片的操作包括但不限于點擊、長按、滑動等,這些操作根據(jù)預定規(guī)則可以對應查看、保存、分享等對圖片的進一步操作,或更進一步地,用戶還可以通過預定的操作,選擇保存該圖片的路徑、分享該圖片的目標應用等;圖片獲取裝置103根據(jù)用戶的這些操作,自緩存中獲取所述圖片;隨后,圖片發(fā)送裝置104將所述圖片發(fā)送至與所述操作相對應的應用,例如,將該圖片通過預置路徑,保存至本地文件夾中,或者,根據(jù)該用戶所選擇的路徑,保存至對應的文件夾中,或者,將該圖片分享至用戶所選擇的目標應用。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的發(fā)送圖片的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
在此,當加載頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能,操作裝置1在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,根據(jù)用戶對該圖片的操作,從緩存中直接獲取該圖片,從而實現(xiàn)對該頁面中的圖片的分享、查看、保存等功能,與現(xiàn)有技術中操作網(wǎng)頁或者重新下載圖片資源再進行操作相比,操作裝置1能夠更加快捷、有效、有針對性地為用戶提供對頁面中的圖片的操作手段,提升了用戶的使用體驗。
優(yōu)選地,該操作裝置1還包括腳本添加裝置(未示出)。該腳本添加裝置在所述頁面加載完成之后,在所述頁面中添加JavaScript腳本;將添加所述JavaScript腳本后的頁面提供給所述用戶。
具體地,在頁面加載完成之后,腳本添加裝置在該頁面中添加JavaScript腳本,該JavaScript腳本能夠識別屏幕中某點對應的html元素是否為圖片,若該html元素為圖片,該JavaScript腳本還能夠返回該圖片的URL地址;隨后,該腳本添加裝置將添加所述JavaScript腳本后的頁面提供給該用戶。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的在頁面中添加腳本的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
更優(yōu)選地,所述操作獲取裝置102獲取所述用戶對添加所述JavaScript腳本后的頁面中所述圖片的操作;其中,所述圖片獲取裝置103根據(jù)所述用戶的操作,運行所述JavaScript腳本,以獲取所述圖片的URL;根據(jù)所述URL,自所述緩存中獲取所述圖片。
具體地,腳本添加裝置將添加所述JavaScript腳本后的頁面提供給用戶之后,用戶通過與該移動設備的交互,對該頁面中的圖片進行了點擊、長按、滑動等操作,欲對該圖片進行查看、保存、分享等,操作獲取裝置102通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取了該用戶對該添加所述JavaScript腳本后的頁面中的圖片的操作;隨后,圖片獲取裝置103根據(jù)所述用戶的操作,運行該頁面中所添加的JavaScript腳本,該JavaScript腳本返回該圖片的URL;該圖片獲取裝置103根據(jù)所述URL,自緩存中獲取該URL所對應的、由前述托管緩存裝置101所存于該緩存中的圖片。
在此,用戶通過對頁面中的圖片進行哪種操作可以觸發(fā)執(zhí)行該頁面中的JavaScript腳本可以是系統(tǒng)預設的,也可以根據(jù)實際情況進行設置,例如,當用戶長按該頁面中的圖片時,觸發(fā)執(zhí)行該頁面中的JavaScript腳本。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的獲取圖片的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
優(yōu)選地,所述托管緩存裝置101將所述圖片所對應的URL進行MD5轉(zhuǎn)換,以獲得轉(zhuǎn)換結果;將所述轉(zhuǎn)換結果作為所述圖片的圖片名稱,存于所述緩存中。
具體地,托管緩存裝置101在頁面加載過程中,托管該頁面中的圖 片,實現(xiàn)新的緩存類MyURLCache,該類重寫NSURLCache的方法,在重寫方法中,如果當前響應是圖片資源,則托管緩存裝置101就將該圖片對應的URL進行MD5轉(zhuǎn)換,獲得轉(zhuǎn)換結果,將該轉(zhuǎn)換結果作為該圖片的圖片名稱,存于所述緩存中。這樣,該圖片及其對應的圖片名稱都被存于該緩存中,例如,以映射的形式,存于該緩存中。
此后,當圖片獲取裝置103根據(jù)用戶操作,欲從該緩存中獲取該圖片時,可以根據(jù)該圖片的圖片名稱,自緩存中獲取該圖片。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的確定圖片名稱的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
優(yōu)選地,該操作裝置1還包括菜單提供裝置(未示出)。該菜單提供裝置將與所述圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作;其中,所述操作獲取裝置102獲取所述用戶對所述操作菜單中的操作的選擇。
其中,所述操作菜單中對所述圖片的操作包括以下至少任一項:
-查看所述圖片;
-保存所述圖片;
-分享所述圖片。
具體地,當用戶對頁面中的圖片進行預定的操作時,觸發(fā)菜單提供裝置的操作,例如,該預定的操作為長按該頁面中的圖片,則當用戶長按頁面中的圖片時,菜單提供裝置將與該圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作,例如,查看所述圖片、保存所述圖片、分享所述圖片等;隨后,用戶通過對該操作菜單進行預定的操作,選擇對應的對該圖片的操作,例如,用戶通過點擊,從該操作菜單中選擇了保存所述圖片,則操作獲取裝置102通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取所述用戶對所述操作菜單中的操作的選擇,即,保存所述圖片;接著,圖片獲取裝置103根據(jù)該操作,自緩存中獲取所述圖 片;圖片發(fā)送裝置104將所述圖片發(fā)送至與所述操作相對應的應用,例如,將該圖片通過預置路徑,保存至本地文件夾中,或者,根據(jù)該用戶所選擇的路徑,保存至對應的文件夾中。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的對所述圖片的操作,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
更優(yōu)選地,所述操作獲取裝置102獲取所述用戶對所述操作菜單中分享所述圖片的選擇;其中,所述圖片發(fā)送裝置104調(diào)用待分享至的應用所提供的分享接口,將所述圖片進行分享。
具體地,菜單提供裝置將與該圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作,例如,查看所述圖片、保存所述圖片、分享所述圖片等;隨后,用戶通過對該操作菜單進行預定的操作,選擇對應的對該圖片的操作,例如,用戶通過點擊,從該操作菜單中選擇了分享所述圖片,則操作獲取裝置102通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取所述用戶對所述操作菜單中分享所述圖片的選擇;接著,圖片獲取裝置103根據(jù)所述操作,自所述緩存中獲取所述圖片;圖片發(fā)送裝置104調(diào)用待分享至的應用所提供的分享接口,將所述圖片進行分享,例如,用戶欲將該圖片分享至應用A,則圖片發(fā)送裝置104調(diào)用該應用A所提供的分享接口,將該圖片分享至該應用A。
在此,操作裝置1不需要重新下載圖片資源,而是使用頁面的緩存結果,并且重新下載圖片資源可能會有下載失敗的風險。若用戶選擇分享功能,其分享完圖片以后,其關注者不需要打開網(wǎng)頁就可以直接看到圖片。專注的圖片分享功能也是一種輕分享,為用戶提供了更加便捷的操作入口,提升了產(chǎn)品的用戶體驗,真正體現(xiàn)以用戶為中心。
以下以一優(yōu)選實施例對上述各裝置的操作進行詳細描述:
操作裝置1中的托管緩存裝置101在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,其中,加載所述頁面的瀏覽器的瀏覽器內(nèi)核 支持托管緩存功能。進一步地,該托管緩存裝置101還將所述圖片所對應的URL進行MD5轉(zhuǎn)換,以獲得轉(zhuǎn)換結果;將所述轉(zhuǎn)換結果作為所述圖片的圖片名稱,存于所述緩存中。隨后,腳本添加裝置在所述頁面加載完成之后,在所述頁面中添加JavaScript腳本;將添加所述JavaScript腳本后的頁面提供給所述用戶。接著,若用戶對該添加所述JavaScript腳本后的頁面中的圖片進行了預定的操作,例如,長按該頁面中的某個點,則執(zhí)行該JavaScript腳本,以識別該用戶長按的點是否為圖片,若是圖片,則菜單提供裝置將與所述圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作;操作菜單中對所述圖片的操作包括但不限于查看所述圖片、保存所述圖片、分享所述圖片等。用戶通過與移動設備的交互,從該操作菜單中選擇分享所述圖片。操作獲取裝置102獲取所述用戶對所述操作菜單中分享所述圖片的選擇。其后,圖片獲取裝置103根據(jù)所述用戶的操作,執(zhí)行該JavaScript腳本,根據(jù)該執(zhí)行該JavaScript腳本所返回的URL,自所述緩存中獲取所述圖片。接著,圖片發(fā)送裝置104調(diào)用待分享至的應用所提供的分享接口,將所述圖片進行分享。
在此,操作裝置1加載頁面,在頁面加載完成的時候在頁面中注入JavaScript腳本;當用戶長按頁面中的某個點,執(zhí)行該JavaScript腳本,識別出圖片的話就彈出操作菜單;當用戶從中選擇分享時,根據(jù)該JavaScript腳本返回的URL,從緩存中獲取圖片;調(diào)用其他平臺提供的接口進行分享。
圖2示出根據(jù)本發(fā)明另一個方面的用于操作頁面中的圖片的方法的流程示意圖。
在此,操作裝置1例如位于用戶設備中,特別地,位于移動設備中。所述移動設備包括但不限于智能手機、掌上電腦、PDA、智能手表等。本領域技術人員應能理解,所述移動設備僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的移動設備如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并以引用方式包含于此。
以下以該操作裝置1位于移動設備中為例進行詳細描述。
在步驟S201中,操作裝置1在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,其中,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能。
在此,“托管”一詞意指將事物移動或者放置在一起,本文中指將頁面中的圖片存儲于緩存中。
具體地,在頁面加載過程中,在步驟S201中,操作裝置1托管該頁面中的圖片,實現(xiàn)新的緩存類MyURLCache,該類重寫NSURLCache的方法,然后將該類的實例注冊為全局的緩存管理對象,以將該頁面中的圖片存于緩存中。在此,該新的緩存類例如繼承自NSURLCache,但是重寫相關的方法,示例如下:
-(NSCachedURLResponse*)cachedResponseForRequest:(NSURLRe quest*)request
-(void)storeCachedResponse:(NSCachedURLResponse*)cachedResp onse forRequest:(NSURLRequest*)request
在此,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能,例例如,ios系統(tǒng)的瀏覽內(nèi)核支持托管緩存功能,則在ios系統(tǒng)中,其頁面在加載的過程中,在步驟S201中,操作裝置1可以將該頁面中的圖片托管并存于緩存中。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的托管并緩存圖片的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
在步驟S202中,操作裝置1獲取用戶對所述頁面中的圖片的操作。
具體地,在頁面部分或全部加載完成后,用戶通過與移動設備的交互,對該頁面中的圖片進行了一定的操作,例如,用戶通過與該移動設備的交互,對該頁面中的圖片進行了點擊、長按、滑動等操作,欲對該圖片進行查看、保存、分享等操作,在步驟S202中,操作裝置1通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取了該用戶對該頁面中的圖片的操作。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的獲取用戶對頁面中的圖片的操作的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
在步驟S203中,操作裝置1根據(jù)所述操作,自所述緩存中獲取所述圖片。
具體地,在步驟S203中,操作裝置1根據(jù)在步驟S202中所獲取的用戶對圖片的操作,自緩存中獲取在步驟S201中存于該緩存中的圖片。例如,在步驟S202中,操作裝置1獲取該用戶對該頁面中的圖片進行了諸如點擊、長按、滑動等操作,欲對該圖片進行查看、保存、分享;而之前在步驟S201中,操作裝置1已在該頁面的加載過程中,將該圖片存于緩存中,則在步驟S203中,操作裝置1根據(jù)用戶的這些操作,自該緩存中獲取該圖片。
在此,在步驟S203中,操作裝置1例如根據(jù)用戶的上述操作,獲取該圖片的標識,例如,圖片名稱、圖片對應的URL等,進而,根據(jù)該標識,自緩存中獲取該圖片。該緩存中例如存儲有該圖片及其對應的標識的映射關系。
在步驟S204中,操作裝置1將所述圖片發(fā)送至與所述操作相對應的應用。
具體地,用戶對頁面中的圖片的操作包括但不限于點擊、長按、滑動等,這些操作根據(jù)預定規(guī)則可以對應查看、保存、分享等對圖片的進一步操作,或更進一步地,用戶還可以通過預定的操作,選擇保存該圖片的路徑、分享該圖片的目標應用等;在步驟S203中,操作裝置1根據(jù)用戶的這些操作,自緩存中獲取所述圖片;隨后,在步驟S204中,操作裝置1將所述圖片發(fā)送至與所述操作相對應的應用,例如,將該圖片通過預置路徑,保存至本地文件夾中,或者,根據(jù)該用戶所選擇的路徑,保存至對應的文件夾中,或者,將該圖片分享至用戶所選擇的目標應用。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的發(fā)送圖片的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
在此,當加載頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能,操作裝置1在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,根據(jù)用戶對該圖片的操作,從緩存中直接獲取該圖片,從而實現(xiàn)對該頁面中的圖片的分享、查看、保存等功能,與現(xiàn)有技術中操作網(wǎng)頁或者重新下載圖片資源再進行操作相比,操作裝置1能夠更加快捷、有效、有針對性地為用戶提供對頁面中的圖片的操作手段,提升了用戶的使用體驗。
優(yōu)選地,該方法還包括步驟S205(未示出)。在步驟S205中,操作裝置1在所述頁面加載完成之后,在所述頁面中添加JavaScript腳本;將添加所述JavaScript腳本后的頁面提供給所述用戶。
具體地,在頁面加載完成之后,在步驟S205中,操作裝置1在該頁面中添加JavaScript腳本,該JavaScript腳本能夠識別屏幕中某點對應的html元素是否為圖片,若該html元素為圖片,該JavaScript腳本還能夠返回該圖片的URL地址;隨后,在步驟S205中,操作裝置1將添加所述JavaScript腳本后的頁面提供給該用戶。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的在頁面中添加腳本的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
更優(yōu)選地,在步驟S202中,操作裝置1獲取所述用戶對添加所述JavaScript腳本后的頁面中所述圖片的操作;其中,在步驟S203中,操作裝置1根據(jù)所述用戶的操作,運行所述JavaScript腳本,以獲取所述圖片的URL;根據(jù)所述URL,自所述緩存中獲取所述圖片。
具體地,在步驟S205中,操作裝置1將添加所述JavaScript腳本后的頁面提供給用戶之后,用戶通過與該移動設備的交互,對該頁面中的圖片進行了點擊、長按、滑動等操作,欲對該圖片進行查看、保存、分 享等,在步驟S202中,操作裝置1通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取了該用戶對該添加所述JavaScript腳本后的頁面中的圖片的操作;隨后,在步驟S203中,操作裝置1根據(jù)所述用戶的操作,運行該頁面中所添加的JavaScript腳本,該JavaScript腳本返回該圖片的URL;在步驟S203中,操作裝置1根據(jù)所述URL,自緩存中獲取該URL所對應的、由前述在步驟S201中所存于該緩存中的圖片。
在此,用戶通過對頁面中的圖片進行哪種操作可以觸發(fā)執(zhí)行該頁面中的JavaScript腳本可以是系統(tǒng)預設的,也可以根據(jù)實際情況進行設置,例如,當用戶長按該頁面中的圖片時,觸發(fā)執(zhí)行該頁面中的JavaScript腳本。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的獲取圖片的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
優(yōu)選地,在步驟S201中,操作裝置1將所述圖片所對應的URL進行MD5轉(zhuǎn)換,以獲得轉(zhuǎn)換結果;將所述轉(zhuǎn)換結果作為所述圖片的圖片名稱,存于所述緩存中。
具體地,在步驟S201中,操作裝置1在頁面加載過程中,托管該頁面中的圖片,實現(xiàn)新的緩存類MyURLCache,該類重寫NSURLCache的方法,在重寫方法中,如果當前響應是圖片資源,則在步驟S201中,操作裝置1就將該圖片對應的URL進行MD5轉(zhuǎn)換,獲得轉(zhuǎn)換結果,將該轉(zhuǎn)換結果作為該圖片的圖片名稱,存于所述緩存中。這樣,該圖片及其對應的圖片名稱都被存于該緩存中,例如,以映射的形式,存于該緩存中。
此后,當在步驟S203中,操作裝置1根據(jù)用戶操作,欲從該緩存中獲取該圖片時,可以根據(jù)該圖片的圖片名稱,自緩存中獲取該圖片。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今 后可能出現(xiàn)的確定圖片名稱的方式,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
優(yōu)選地,該方法還包括步驟S206(未示出)。在步驟S206中,操作裝置1將與所述圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作;其中,在步驟S202中,操作裝置1獲取所述用戶對所述操作菜單中的操作的選擇。
其中,所述操作菜單中對所述圖片的操作包括以下至少任一項:
-查看所述圖片;
-保存所述圖片;
-分享所述圖片。
具體地,當用戶對頁面中的圖片進行預定的操作時,觸發(fā)在步驟S206中,操作裝置1的操作,例如,該預定的操作為長按該頁面中的圖片,則當用戶長按頁面中的圖片時,在步驟S206中,操作裝置1將與該圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作,例如,查看所述圖片、保存所述圖片、分享所述圖片等;隨后,用戶通過對該操作菜單進行預定的操作,選擇對應的對該圖片的操作,例如,用戶通過點擊,從該操作菜單中選擇了保存所述圖片,則在步驟S202中,操作裝置1通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取所述用戶對所述操作菜單中的操作的選擇,即,保存所述圖片;接著,圖在步驟S203中,操作裝置1根據(jù)該操作,自緩存中獲取所述圖片;在步驟S204中,操作裝置1將所述圖片發(fā)送至與所述操作相對應的應用,例如,將該圖片通過預置路徑,保存至本地文件夾中,或者,根據(jù)該用戶所選擇的路徑,保存至對應的文件夾中。
需要說明的是,上述舉例僅為更好地說明本發(fā)明的技術方案,而非對本發(fā)明的限制,本領域技術人員應該理解,任何其他現(xiàn)有的或今后可能出現(xiàn)的對所述圖片的操作,如可適用于本發(fā)明,也應包含在本發(fā)明保護范圍以內(nèi),并在此以引用的方式包含于此。
更優(yōu)選地,在步驟S202中,操作裝置1獲取所述用戶對所述操作 菜單中分享所述圖片的選擇;其中,在步驟S204中,操作裝置1調(diào)用待分享至的應用所提供的分享接口,將所述圖片進行分享。
具體地,在步驟S206中,操作裝置1將與該圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作,例如,查看所述圖片、保存所述圖片、分享所述圖片等;隨后,用戶通過對該操作菜單進行預定的操作,選擇對應的對該圖片的操作,例如,用戶通過點擊,從該操作菜單中選擇了分享所述圖片,則在步驟S202中,操作裝置1通過一次或多次調(diào)用諸如JSP、ASP或PHP等動態(tài)頁面技術,或者,通過其他約定的通信方式,獲取所述用戶對所述操作菜單中分享所述圖片的選擇;接著,在步驟S203中,操作裝置1根據(jù)所述操作,自所述緩存中獲取所述圖片;在步驟S204中,操作裝置1調(diào)用待分享至的應用所提供的分享接口,將所述圖片進行分享,例如,用戶欲將該圖片分享至應用A,則在步驟S204中,操作裝置1調(diào)用該應用A所提供的分享接口,將該圖片分享至該應用A。
在此,操作裝置1不需要重新下載圖片資源,而是使用頁面的緩存結果,并且重新下載圖片資源可能會有下載失敗的風險。若用戶選擇分享功能,其分享完圖片以后,其關注者不需要打開網(wǎng)頁就可以直接看到圖片。專注的圖片分享功能也是一種輕分享,為用戶提供了更加便捷的操作入口,提升了產(chǎn)品的用戶體驗,真正體現(xiàn)以用戶為中心。
以下以一優(yōu)選實施例對上述各步驟的操作進行詳細描述:
在步驟S201中,操作裝置1在頁面加載過程中,托管所述頁面中的圖片并存于緩存中,其中,加載所述頁面的瀏覽器的瀏覽器內(nèi)核支持托管緩存功能。進一步地,在步驟S201中,操作裝置1還將所述圖片所對應的URL進行MD5轉(zhuǎn)換,以獲得轉(zhuǎn)換結果;將所述轉(zhuǎn)換結果作為所述圖片的圖片名稱,存于所述緩存中。隨后,在步驟S205中,操作裝置1在所述頁面加載完成之后,在所述頁面中添加JavaScript腳本;將添加所述JavaScript腳本后的頁面提供給所述用戶。接著,若用戶對該添加所述JavaScript腳本后的頁面中的圖片進行了預定的操作,例如,長按該頁面中的某個點,則執(zhí)行該JavaScript腳本,以識別該用戶長按 的點是否為圖片,若是圖片,則在步驟S206中,操作裝置1將與所述圖片對應的操作菜單提供給所述用戶,其中,所述操作菜單包括對所述圖片的操作;操作菜單中對所述圖片的操作包括但不限于查看所述圖片、保存所述圖片、分享所述圖片等。用戶通過與移動設備的交互,從該操作菜單中選擇分享所述圖片。在步驟S202中,操作裝置1獲取所述用戶對所述操作菜單中分享所述圖片的選擇。其后,在步驟S203中,操作裝置1根據(jù)所述用戶的操作,執(zhí)行該JavaScript腳本,根據(jù)該執(zhí)行該JavaScript腳本所返回的URL,自所述緩存中獲取所述圖片。接著,在步驟S204中,操作裝置1調(diào)用待分享至的應用所提供的分享接口,將所述圖片進行分享。
在此,操作裝置1加載頁面,在頁面加載完成的時候在頁面中注入JavaScript腳本;當用戶長按頁面中的某個點,執(zhí)行該JavaScript腳本,識別出圖片的話就彈出操作菜單;當用戶從中選擇分享時,根據(jù)該JavaScript腳本返回的URL,從緩存中獲取圖片;調(diào)用其他平臺提供的接口進行分享。
需要注意的是,本發(fā)明可在軟件和/或軟件與硬件的組合體中被實施,例如,本發(fā)明的各個裝置可采用專用集成電路(ASIC)或任何其他類似硬件設備來實現(xiàn)。在一個實施例中,本發(fā)明的軟件程序可以通過處理器執(zhí)行以實現(xiàn)上文所述步驟或功能。同樣地,本發(fā)明的軟件程序(包括相關的數(shù)據(jù)結構)可以被存儲到計算機可讀記錄介質(zhì)中,例如,RAM存儲器,磁或光驅(qū)動器或軟磁盤及類似設備。另外,本發(fā)明的一些步驟或功能可采用硬件來實現(xiàn),例如,作為與處理器配合從而執(zhí)行各個步驟或功能的電路。
對于本領域技術人員而言,顯然本發(fā)明不限于上述示范性實施例的細節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權利要求而不是上述說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本發(fā)明內(nèi)。不應將權利要求中的任何附圖標 記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復數(shù)。系統(tǒng)權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。