本公開涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及javascript庫的加載方法及裝置。
背景技術(shù):
javascript代碼是通過直譯式腳本語言javascript編碼的代碼程序,將多個(gè)javascript代碼集合到一起,形成javascript庫。目前大多數(shù)的網(wǎng)站前端都用知名javascript庫來輔助開發(fā),因此,用戶在使用瀏覽器加載該網(wǎng)站的網(wǎng)頁時(shí)就需要下載這些javascript庫來實(shí)現(xiàn)該網(wǎng)頁的相應(yīng)功能。
技術(shù)實(shí)現(xiàn)要素:
本公開實(shí)施例提供javascript庫的加載方法及裝置。所述技術(shù)方案如下:
根據(jù)本公開實(shí)施例的第一方面,提供一種javascript庫的加載方法,包括:
獲取待加載的javascript庫的標(biāo)識(shí)信息;
在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:本實(shí)施例可以在瀏覽器內(nèi)置javascript庫,如此就可以在獲取待加載的javascript庫的標(biāo)識(shí)信息時(shí),從瀏覽器內(nèi)置的javascript庫中獲取該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;進(jìn)而加載該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫,不需要從網(wǎng)絡(luò)中下載該javascript庫,減少瀏覽器對(duì)javascript庫的下載開銷,節(jié)省用戶的流量。
在一個(gè)實(shí)施例中,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述方法還包括:
在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:本實(shí)施例可以在瀏覽器不支持內(nèi)置javascript庫時(shí),按照標(biāo)識(shí)信息中攜帶的待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫來加載該javascript庫,進(jìn)而實(shí)現(xiàn)網(wǎng)頁的相應(yīng)功能,保證各種瀏覽器都可以實(shí)現(xiàn)加載該javascript庫。
在一個(gè)實(shí)施例中,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述方法還包括:
在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:本實(shí)施例可以在瀏覽器內(nèi)置的javascript庫中不包括該標(biāo)識(shí)對(duì)應(yīng)的javascript庫時(shí),按照標(biāo)識(shí)信息中攜帶的待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫來加載該javascript庫,進(jìn)而實(shí)現(xiàn)網(wǎng)頁的相應(yīng)功能。
在一個(gè)實(shí)施例中,所述方法還包括:
獲取各javascript庫的歷史使用率;
將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:本實(shí)施例可以將歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在瀏覽器內(nèi),如此就可以保證大部分需要加載的javascript庫都內(nèi)置在瀏覽器中,不需要下載,如此就可以最大限度地減少瀏覽器對(duì)javascript庫的下載開銷,最大程度地節(jié)省用戶的流量。
在一個(gè)實(shí)施例中,所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,包括:
所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:本實(shí)施例可以根據(jù)當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性來確定當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,確定方式簡單易實(shí)現(xiàn)。
根據(jù)本公開實(shí)施例的第二方面,提供一種javascript庫的加載裝置,包括:
第一獲取模塊,用于獲取待加載的javascript庫的標(biāo)識(shí)信息;
第二獲取模塊,用于在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載模塊,用于加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
在一個(gè)實(shí)施例中,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述裝置還包括:
第一下載模塊,用于在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
在一個(gè)實(shí)施例中,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述裝置還包括:
第二下載模塊,用于在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
在一個(gè)實(shí)施例中,所述裝置還包括:
第三獲取模塊,用于獲取各javascript庫的歷史使用率;
內(nèi)置模塊,用于將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
在一個(gè)實(shí)施例中,所述第二獲取模塊包括:
確定子模塊,用于所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
根據(jù)本公開實(shí)施例的第三方面,提供一種javascript庫的加載裝置,包括:
處理器;
用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
其中,所述處理器被配置為:
獲取待加載的javascript庫的標(biāo)識(shí)信息;
在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。
圖1是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載方法的流程圖。
圖2是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載方法的流程圖。
圖3是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載方法的流程圖。
圖4是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖。
圖5是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖。
圖6是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖。
圖7是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖。
圖8是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖。
圖9是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本公開的一些方面相一致的裝置和方法的例子。
為了減少瀏覽器對(duì)javascript庫的下載開銷,本實(shí)施例可以在瀏覽器內(nèi)置javascript庫,如此,可以獲取待加載的javascript庫的標(biāo)識(shí)信息,進(jìn)而直接從瀏覽器內(nèi)置的javascript庫中獲取該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫,無需下載,節(jié)省用戶的流量。
圖1是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載方法的流程圖,如圖1所示,該javascript庫的下載方法用于終端等設(shè)備中,包括以下步驟101至103:
在步驟101中,獲取待加載的javascript庫的標(biāo)識(shí)信息。
在步驟102中,在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
在步驟103中,加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
在一實(shí)施例中,瀏覽器開發(fā)商可以開發(fā)一瀏覽器,該瀏覽器內(nèi)置有javascript庫,如此,用戶在使用設(shè)置在終端上的該瀏覽器的客戶端進(jìn)入某網(wǎng)頁時(shí),該瀏覽器的客戶端會(huì)根據(jù)該網(wǎng)頁的url(uniformresourcelocator,url)地址向該網(wǎng)頁對(duì)應(yīng)的網(wǎng)站服務(wù)器發(fā)送請(qǐng)求,請(qǐng)求該網(wǎng)站返回該網(wǎng)頁對(duì)應(yīng)的數(shù)據(jù)信息,該瀏覽器的客戶端獲取到該網(wǎng)頁對(duì)應(yīng)的數(shù)據(jù)信息后,會(huì)加載該數(shù)據(jù)信息對(duì)應(yīng)的內(nèi)容在該瀏覽器上為用戶展現(xiàn)該網(wǎng)頁;此時(shí),網(wǎng)站發(fā)送過來的數(shù)據(jù)信息中就包括待加載的javascript庫的標(biāo)識(shí)信息,這就指示該瀏覽器的客戶端要加載該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。如果終端上當(dāng)前使用的瀏覽器為支持內(nèi)置javascript庫的瀏覽器時(shí),該瀏覽器的客戶端就可以直接從該瀏覽器內(nèi)置的javascript庫中獲取該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫,直接加載該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫,進(jìn)而為用戶展現(xiàn)該網(wǎng)頁中該javascript庫相應(yīng)的功能。
本實(shí)施例可以在瀏覽器內(nèi)置javascript庫,如此就可以在獲取待加載的javascript庫的標(biāo)識(shí)信息時(shí),從瀏覽器內(nèi)置的javascript庫中獲取該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;進(jìn)而加載該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫,不需要從網(wǎng)絡(luò)中下載該javascript庫,減少瀏覽器對(duì)javascript庫的下載開銷,節(jié)省用戶的流量。
在一種可能的實(shí)施方式中,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,上述javascript庫的加載方法還可以包括步驟a1。
在步驟a1中,在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
在一實(shí)施例中,終端當(dāng)前使用的瀏覽器不支持內(nèi)置javascript庫,即該瀏覽器沒有內(nèi)置javascript庫,而網(wǎng)站發(fā)送過來的數(shù)據(jù)信息包括待加載的javascript庫的標(biāo)識(shí)信息,指示瀏覽器客戶端要加載該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫時(shí),該標(biāo)識(shí)信息中要攜帶有待加載的javascript庫的下載地址,此時(shí),瀏覽器客戶端可以按照該待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫,然后加載該下載的javascript庫,進(jìn)而為用戶展現(xiàn)該網(wǎng)頁中該javascript庫相應(yīng)的功能。
本實(shí)施例可以在瀏覽器不支持內(nèi)置javascript庫時(shí),按照標(biāo)識(shí)信息中攜帶的待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫來加載該javascript庫,進(jìn)而實(shí)現(xiàn)網(wǎng)頁的相應(yīng)功能,保證各種瀏覽器都可以實(shí)現(xiàn)加載該javascript庫。
在一種可能的實(shí)施方式中,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,上述javascript庫的加載方法還可以包括步驟b1。
在步驟b1中,在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
在一實(shí)施例中,當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,但是,考慮到瀏覽器客戶端的存儲(chǔ)空間大小,瀏覽器不可能內(nèi)置所有的javascript庫,故可能發(fā)生瀏覽器客戶端在瀏覽器內(nèi)置的javascript庫中查找不到該標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫的情況,此時(shí),由于網(wǎng)站發(fā)送過來的數(shù)據(jù)信息包括待加載的javascript庫的標(biāo)識(shí)信息,該標(biāo)識(shí)信息中要攜帶有待加載的javascript庫的下載地址,故瀏覽器客戶端就可以按照該待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫,然后加載該下載的javascript庫,進(jìn)而為用戶展現(xiàn)該網(wǎng)頁中該javascript庫相應(yīng)的功能。
本實(shí)施例可以在瀏覽器內(nèi)置的javascript庫中不包括該標(biāo)識(shí)對(duì)應(yīng)的javascript庫時(shí),按照標(biāo)識(shí)信息中攜帶的待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫來加載該javascript庫,進(jìn)而實(shí)現(xiàn)網(wǎng)頁的相應(yīng)功能。
在一種可能的實(shí)施方式中,上述javascript庫的加載方法還可以包括步驟c1和c2。
在步驟c1中,獲取各javascript庫的歷史使用率。
在步驟c2中,將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
在一實(shí)施例中,當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,但是,考慮到瀏覽器客戶端的存儲(chǔ)空間大小,瀏覽器不可能內(nèi)置所有的javascript庫,故可以選擇幾個(gè)常用的javascript庫來內(nèi)置,此時(shí),瀏覽器客戶端可以獲取各javascript庫的歷史使用率,然后將歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi),這樣,就可以保證大部分需要加載的javascript庫都內(nèi)置在瀏覽器中,不需要下載,如此就可以最大限度地減少瀏覽器對(duì)javascript庫的下載開銷,最大程度地節(jié)省用戶的流量。
這里需要說明的是,瀏覽器客戶端可以定期根據(jù)各javascript庫的歷史使用率,更新瀏覽器內(nèi)置的javascript庫,保證瀏覽器內(nèi)置的javascript庫都是當(dāng)前使用率最高的javascript庫。
本實(shí)施例可以將歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在瀏覽器內(nèi),如此就可以保證大部分需要加載的javascript庫都內(nèi)置在瀏覽器中,不需要下載,如此就可以最大限度地減少瀏覽器對(duì)javascript庫的下載開銷,最大程度地節(jié)省用戶的流量。
在一種可能的實(shí)施方式中,上述javascript庫的加載方法中當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫可以實(shí)現(xiàn)為以下步驟d1。
在步驟d1中,所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
在一實(shí)施例中,終端判斷當(dāng)前使用的瀏覽器是否支持內(nèi)置javascript庫可以實(shí)現(xiàn)為當(dāng)前使用的瀏覽器是否支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性。
這里,以待加載的javascript庫為jquery_1.8.0.js為例進(jìn)行說明,網(wǎng)站可以在向?yàn)g覽器客戶端發(fā)送的網(wǎng)頁的對(duì)應(yīng)的數(shù)據(jù)信息即html中攜帶<script>標(biāo)簽,該<script>標(biāo)簽為待加載的javascript庫的標(biāo)識(shí)信息,可以設(shè)定支持內(nèi)置javascript庫的瀏覽器就是支持<script>標(biāo)簽的lib-name(庫名)和lib-version(庫版本)屬性,此時(shí),網(wǎng)站發(fā)送的<script>標(biāo)簽就可以寫成<scriptsrc="/js/jquery_1.8.0.js"lib-name="jquery"lib-version="1.8.0"></script>,這樣,當(dāng)當(dāng)前使用的瀏覽器不支持lib-name和lib-version屬性時(shí),就可以確定該瀏覽器不支持內(nèi)置javascript庫,此時(shí)該瀏覽器客戶端就會(huì)忽略這兩個(gè)屬性,按照scriptsrc="/js/jquery_1.8.0.js即待加載的javascript庫的下載地址,下載jquery_1.8.0.js作為<script>的內(nèi)容展現(xiàn);當(dāng)當(dāng)前使用的瀏覽器支持lib-name和lib-version屬性時(shí),就可以確定該瀏覽器支持內(nèi)置javascript庫,此時(shí)該瀏覽器客戶端就會(huì)直接從瀏覽器內(nèi)置的javascript庫中獲取lib-name=j(luò)query,lib-version=1.8.0的javascript庫即jquery_1.8.0.js,若未從瀏覽器內(nèi)置的javascript庫中獲取lib-name=j(luò)query,lib-version=1.8.0的javascript庫,則該瀏覽器客戶端就可以按照scriptsrc="/js/jquery_1.8.0.js即待加載的javascript庫的下載地址,下載jquery_1.8.0.js作為<script>的內(nèi)容展現(xiàn)。
本實(shí)施例可以根據(jù)當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性來確定當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,確定方式簡單易實(shí)現(xiàn)。
下面通過幾個(gè)實(shí)施例詳細(xì)介紹實(shí)現(xiàn)過程。
圖2是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載方法的流程圖,如圖2所示,該方法可以由終端等設(shè)備實(shí)現(xiàn),包括步驟201至206。
在步驟201中,獲取待加載的javascript庫的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址。
在步驟202中,在所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
在步驟203中,在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
在步驟204中,在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
在步驟205中,在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
在步驟206中,加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
圖3是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載方法的流程圖,如圖3所示,該方法可以由終端等設(shè)備實(shí)現(xiàn),包括步驟301至305。
在步驟301中,獲取各javascript庫的歷史使用率。
在步驟302中,將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
在步驟303中,獲取待加載的javascript庫的標(biāo)識(shí)信息。
在步驟304中,在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
在步驟305中,加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
下述為本公開裝置實(shí)施例,可以用于執(zhí)行本公開方法實(shí)施例。
圖4是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖,該裝置可以通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為電子設(shè)備的部分或者全部。如圖4所示,該javascript庫的加載裝置包括:第一獲取模塊401、第二獲取模塊402和加載模塊403;其中:
第一獲取模塊401,用于獲取待加載的javascript庫的標(biāo)識(shí)信息;
第二獲取模塊402,用于在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載模塊403,用于加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
作為一種可能的實(shí)施例,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,上述公開的javascript庫的加載裝置還可以被配置成包括第一下載模塊404,圖5是涉及上述javascript庫的加載裝置的框圖,其中:
第一下載模塊404,用于在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
作為一種可能的實(shí)施例,所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,上述公開的javascript庫的加載裝置還可以被配置成包括第二下載模塊405,圖6是涉及上述javascript庫的加載裝置的框圖,其中:
第二下載模塊405,用于在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
作為一種可能的實(shí)施例,上述公開的javascript庫的加載裝置還可以被配置成包括第三獲取模塊406和內(nèi)置模塊407,圖7是涉及上述javascript庫的加載裝置的框圖,其中:
第三獲取模塊406,用于獲取各javascript庫的歷史使用率。
內(nèi)置模塊407,用于將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
作為一種可能的實(shí)施例,上述公開的javascript庫的加載裝置還可以把第二獲取模塊402配置成包括確定子模塊4021,圖8是涉及上述javascript庫的加載裝置的框圖,其中:
確定子模塊4021,用于所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。
圖9是根據(jù)一示例性實(shí)施例示出的一種javascript庫的加載裝置的框圖,該裝置適用于終端設(shè)備。例如,裝置900可以是移動(dòng)電話,游戲控制臺(tái),電腦、平板設(shè)備,個(gè)人數(shù)字助理等。
裝置900可以包括以下一個(gè)或多個(gè)組件:處理組件901,存儲(chǔ)器902,電源組件903,多媒體組件904,音頻組件905,輸入/輸出(i/o)接口906,傳感器組件907,以及通信組件908。
處理組件901通??刂蒲b置900的整體操作,諸如與顯示,電話呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理組件901可以包括一個(gè)或多個(gè)處理器920來執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件901可以包括一個(gè)或多個(gè)模塊,便于處理組件901和其他組件之間的交互。例如,處理組件901可以包括多媒體模塊,以方便多媒體組件904和處理組件901之間的交互。
存儲(chǔ)器902被配置為存儲(chǔ)各種類型的數(shù)據(jù)以支持在裝置900的操作。這些數(shù)據(jù)的示例包括用于在裝置900上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器902可以由任何類型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(sram),電可擦除可編程只讀存儲(chǔ)器(eeprom),可擦除可編程只讀存儲(chǔ)器(eprom),可編程只讀存儲(chǔ)器(prom),只讀存儲(chǔ)器(rom),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤或光盤。
電源組件903為裝置900的各種組件提供電力。電源組件903可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為裝置900生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件904包括在所述裝置900和用戶之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(lcd)和觸摸面板(tp)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來自用戶的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件904包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)裝置900處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件905被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件905包括一個(gè)麥克風(fēng)(mic),當(dāng)裝置900處于操作模式,如呼叫模式、記錄模式和語音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器902或經(jīng)由通信組件908發(fā)送。在一些實(shí)施例中,音頻組件905還包括一個(gè)揚(yáng)聲器,用于輸出音頻信號(hào)。
i/o的接口906為處理組件901和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤,點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
傳感器組件907包括一個(gè)或多個(gè)傳感器,用于為裝置900提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件907可以檢測(cè)到裝置900的打開/關(guān)閉狀態(tài),組件的相對(duì)定位,例如所述組件為裝置900的顯示器和小鍵盤,傳感器組件907還可以檢測(cè)裝置900或裝置900一個(gè)組件的位置改變,用戶與裝置900接觸的存在或不存在,裝置900方位或加速/減速和裝置900的溫度變化。傳感器組件907可以包括接近傳感器,被配置用來在沒有任何的物理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件907還可以包括光傳感器,如cmos或ccd圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件907還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件908被配置為便于裝置900和其他設(shè)備之間有線或無線方式的通信。裝置900可以接入基于通信標(biāo)準(zhǔn)的無線網(wǎng)絡(luò),如wifi,2g或3g,或它們的組合。在一個(gè)示例性實(shí)施例中,通信組件908經(jīng)由廣播信道接收來自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信組件908還包括近場通信(nfc)模塊,以促進(jìn)短程通信。例如,在nfc模塊可基于射頻識(shí)別(rfid)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(irda)技術(shù),超寬帶(uwb)技術(shù),藍(lán)牙(bt)技術(shù)和其他技術(shù)來實(shí)現(xiàn)。
在示例性實(shí)施例中,裝置900可以被一個(gè)或多個(gè)應(yīng)用專用集成電路(asic)、數(shù)字信號(hào)處理器(dsp)、數(shù)字信號(hào)處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場可編程門陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器902,上述指令可由裝置900的處理器920執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是rom、隨機(jī)存取存儲(chǔ)器(ram)、cd-rom、磁帶、軟盤和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
該非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由裝置900的處理器執(zhí)行時(shí),使得裝置900能夠執(zhí)行上述javascript庫的加載方法,所述方法包括:
獲取待加載的javascript庫的標(biāo)識(shí)信息;
在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
所述存儲(chǔ)介質(zhì)中的指令還可以包括:
所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述方法還包括:
在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
所述存儲(chǔ)介質(zhì)中的指令還可以包括:
所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述方法還包括:
在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
所述存儲(chǔ)介質(zhì)中的指令還可以包括:
所述方法還包括:
獲取各javascript庫的歷史使用率;
將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
所述存儲(chǔ)介質(zhì)中的指令還可以包括:
所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,包括:
所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
一種javascript庫的加載裝置,包括:
處理器;
用于存儲(chǔ)處理器可執(zhí)行指令的存儲(chǔ)器;
其中,所述處理器被配置為:
獲取待加載的javascript庫的標(biāo)識(shí)信息;
在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
所述處理器還可以被配置為:
獲取待加載的javascript庫的標(biāo)識(shí)信息;
在當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫時(shí),在所述瀏覽器內(nèi)置的javascript庫中獲取所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫;
加載所述標(biāo)識(shí)信息對(duì)應(yīng)的javascript庫。
所述處理器還可以被配置為:
所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述方法還包括:
在所述瀏覽器不支持內(nèi)置javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
所述處理器還可以被配置為:
所述標(biāo)識(shí)信息中攜帶有所述待加載的javascript庫的下載地址,所述方法還包括:
在瀏覽器內(nèi)置的javascript庫中未獲取到所述標(biāo)識(shí)對(duì)應(yīng)的所述待加載的javascript庫時(shí),按照所述待加載的javascript庫的下載地址下載對(duì)應(yīng)的javascript庫。
所述處理器還可以被配置為:
所述方法還包括:
獲取各javascript庫的歷史使用率;
將所述歷史使用率超過預(yù)設(shè)閾值的javascript庫內(nèi)置在所述瀏覽器內(nèi)。
所述處理器還可以被配置為:
所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫,包括:
所述當(dāng)前使用的瀏覽器支持script標(biāo)簽的庫名lib-name和庫版本lib-version屬性時(shí),確定所述當(dāng)前使用的瀏覽器支持內(nèi)置javascript庫。
本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的公開后,將容易想到本公開的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開的范圍僅由所附的權(quán)利要求來限制。