[發(fā)明專利]動態(tài)提供兼容JS腳本內(nèi)容的方法、裝置和終端設(shè)備有效
| 申請?zhí)枺?/td> | 201810067414.4 | 申請日: | 2018-01-24 |
| 公開(公告)號: | CN108388454B | 公開(公告)日: | 2021-08-20 |
| 發(fā)明(設(shè)計(jì))人: | 陳漢釵;黃文浩 | 申請(專利權(quán))人: | 阿里巴巴(中國)有限公司 |
| 主分類號: | G06F8/76 | 分類號: | G06F8/76;G06F8/41;G06F9/445;G06F16/957 |
| 代理公司: | 北京合智同創(chuàng)知識產(chǎn)權(quán)代理有限公司 11545 | 代理人: | 李杰 |
| 地址: | 310051 浙江省杭州市濱江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 動態(tài) 提供 兼容 js 腳本 內(nèi)容 方法 裝置 終端設(shè)備 | ||
本申請實(shí)施例提供了一種動態(tài)提供兼容JS腳本內(nèi)容的方法、裝置和終端設(shè)備,所述方法包括:對獲得的JS腳本代碼進(jìn)行語法分析,獲得運(yùn)行所述JS腳本代碼所需的兼容列表;將所述兼容列表和用戶請求中瀏覽器標(biāo)識符進(jìn)行比對,獲得所述瀏覽器運(yùn)行所述JS腳本代碼所需的最小兼容列表;根據(jù)所述最小兼容列表轉(zhuǎn)化為兼容代碼,并將所述兼容代碼與所述JS腳本代碼進(jìn)行合并響應(yīng)所述用戶請求。本申請實(shí)施例能夠克服現(xiàn)有兼容不同瀏覽器的JS腳本加載資源浪費(fèi)和執(zhí)行速度緩慢的問題,同時也提高了開發(fā)人員的開發(fā)效率,降低人工成本。
技術(shù)領(lǐng)域
本申請實(shí)施例涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種動態(tài)提供兼容JS腳本內(nèi)容的方法、裝置和終端設(shè)備。
背景技術(shù)
隨著前端技術(shù)的發(fā)展,使用JS(JavaScript)的應(yīng)用發(fā)展逐漸變快。面對越來越復(fù)雜的應(yīng)用需要,在JavaScript社區(qū)的推動下,JS每年都會推出一些新特性和新功能,為開發(fā)人員提供更多的實(shí)現(xiàn)能力。
但是由于瀏覽器版本更新周期較長,以及不同瀏覽器廠商的實(shí)現(xiàn)存在不一致之處,導(dǎo)致JS的一些新語言特性和瀏覽器接口未能在所有瀏覽器上實(shí)現(xiàn)完整支持。
因此在大部分瀏覽器上,為便于開發(fā)人員使用JS的一些新語言特性和瀏覽器接口,需要在JS腳本內(nèi)容中放置一些兼容代碼,以便在檢查到瀏覽器不能原生支持的情況下,通過所述兼容代碼提供JS的新語言特性和瀏覽器接口的支持。
通常為了適配大部分的瀏覽器,避免頁面中JS腳本在瀏覽器中因?yàn)槭褂昧诵抡Z言特性和瀏覽器接口而出現(xiàn)異常,開發(fā)人員需要將盡可能多的兼容代碼放在用戶訪問頁面中。從而實(shí)現(xiàn)能夠保證大部分瀏覽器都能正確的運(yùn)行,但是這會造成JS腳本下載到瀏覽器的時間更長,增加了用戶和服務(wù)商的流量負(fù)擔(dān)。并且,JS腳本執(zhí)行的時間也更長了,界面長時間處于白屏狀態(tài),影響用戶體驗(yàn)。以及,需要開發(fā)人員同過人工分析獲得需要的兼容代碼,并將所述兼容代碼拼接到JS腳本代碼中,造成JS腳本的維護(hù)成本高。
因此,如何實(shí)現(xiàn)根據(jù)瀏覽器動態(tài)提供兼容JS腳本內(nèi)容成為現(xiàn)有技術(shù)中亟需解決的技術(shù)問題。
發(fā)明內(nèi)容
本申請實(shí)施例提供了一種動態(tài)提供兼容JS腳本內(nèi)容的方法、裝置和終端設(shè)備,其能夠克服現(xiàn)有兼容不同瀏覽器的JS腳本加載資源浪費(fèi)和執(zhí)行速度緩慢的問題,同時也提高了開發(fā)人員的開發(fā)效率,降低人工成本。
根據(jù)本申請實(shí)施例的一個方面,提供了一種動態(tài)提供兼容JS腳本內(nèi)容的方法,所述方法包括:
對獲得的JS腳本代碼進(jìn)行語法分析,獲得運(yùn)行所述JS腳本代碼所需的兼容列表;
將所述兼容列表和用戶請求中瀏覽器標(biāo)識符進(jìn)行比對,獲得所述瀏覽器運(yùn)行所述JS腳本代碼所需的最小兼容列表;
根據(jù)所述最小兼容列表轉(zhuǎn)化為兼容代碼,并將所述兼容代碼與所述JS腳本代碼進(jìn)行合并響應(yīng)所述用戶請求。
根據(jù)本申請實(shí)施例的另一個方面,還提供了一種動態(tài)提供兼容JS腳本內(nèi)容的裝置,所述裝置包括:
語法分析模塊,用于對獲得的JS腳本代碼進(jìn)行語法分析,獲得運(yùn)行所述JS腳本代碼所需的兼容列表;
列表比對模塊,用于將所述兼容列表和用戶請求中瀏覽器標(biāo)識符進(jìn)行比對,獲得所述瀏覽器運(yùn)行所述JS腳本代碼所需的最小兼容列表;
第一代碼合并模塊,用于根據(jù)所述最小兼容列表轉(zhuǎn)化為兼容代碼,并將所述兼容代碼與所述JS腳本代碼進(jìn)行合并響應(yīng)所述用戶請求。
根據(jù)本申請實(shí)施例的又一個方面,還提供了一種終端設(shè)備,包括:處理器、存儲器、通信接口和通信總線,所述處理器、所述存儲器和所述通信接口通過所述通信總線完成相互間的通信;所述存儲器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如上所述的動態(tài)提供兼容JS腳本內(nèi)容的方法對應(yīng)的操作。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴(中國)有限公司,未經(jīng)阿里巴巴(中國)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810067414.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 動態(tài)矢量譯碼方法和動態(tài)矢量譯碼裝置
- 動態(tài)口令的顯示方法及動態(tài)令牌
- 動態(tài)庫管理方法和裝置
- 動態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動態(tài)口令生成方法、動態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動態(tài)模糊控制系統(tǒng)
- 一種基于動態(tài)信號的POS機(jī)和安全保護(hù)方法
- 圖像動態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動態(tài)聚合碼的系統(tǒng)
- 基于動態(tài)口令的身份認(rèn)證方法、裝置和動態(tài)令牌
- 信息提供系統(tǒng)、信息提供方法、信息提供設(shè)備
- 信息提供裝置、信息提供系統(tǒng)
- 游戲提供系統(tǒng)、游戲提供程序和游戲提供方法
- 游戲提供系統(tǒng)、游戲提供程序和游戲提供方法
- 信息提供方法、信息提供裝置、信息提供系統(tǒng)及信息提供程序
- 動作信息提供裝置、提供系統(tǒng)以及提供方法
- 提供裝置、提供方法、提供系統(tǒng)以及存儲介質(zhì)
- 提供裝置、提供方法、存儲介質(zhì)以及提供系統(tǒng)
- 提供裝置、提供方法、存儲介質(zhì)以及提供系統(tǒng)
- 內(nèi)容提供裝置、內(nèi)容提供方法以及內(nèi)容提供系統(tǒng)
- JS文件處理方法和裝置
- 一種JS代碼的測試方法、存儲介質(zhì)、設(shè)備和系統(tǒng)
- 一種JS代碼的測試方法、存儲介質(zhì)、設(shè)備和系統(tǒng)
- 分布式的JS文件篡改監(jiān)控方法、系統(tǒng)、設(shè)備及存儲介質(zhì)
- 在IOS應(yīng)用內(nèi)調(diào)用函數(shù)的方法及系統(tǒng)
- 一種可擴(kuò)展的游戲構(gòu)建方法、游戲運(yùn)行方法和存儲介質(zhì)
- 一種提高腳本的加載效率的方法及終端
- 一種應(yīng)用程序依賴的JS代碼與原生庫兼容的方法及終端
- JS代碼防重復(fù)注入方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)
- 原生應(yīng)用調(diào)用JS的方法、裝置、電子設(shè)備及存儲介質(zhì)





