本發(fā)明專利技術(shù)公開(kāi)了一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,屬于Web性能優(yōu)化領(lǐng)域;所述的方法包括通過(guò)Javascript MVM框架angularJs(1.0)技術(shù)對(duì)Web應(yīng)用軟件高頻觸發(fā)事件進(jìn)行處理,通過(guò)判斷執(zhí)行間隔時(shí)間來(lái)決定觸發(fā)事件是否執(zhí)行,從而達(dá)到節(jié)省性能的目的;本發(fā)明專利技術(shù)法解決了高頻觸發(fā)且大部分無(wú)實(shí)際意義事件占用大量瀏覽器性能的問(wèn)題,有效提高了Web軟件的運(yùn)行速度,和不處理的代碼相比,有效提高了軟件運(yùn)行的流暢性;由本發(fā)明專利技術(shù)方法優(yōu)化后的方法,不增加使用者的額外操作和對(duì)系統(tǒng)資源的占用的額外占用。用的額外占用。用的額外占用。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法
[0001]本專利技術(shù)公開(kāi)一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,涉及Web性能優(yōu)化
技術(shù)介紹
[0002]隨著國(guó)家對(duì)信創(chuàng)的大力支持,行業(yè)發(fā)展迅速,國(guó)內(nèi)涌現(xiàn)出一批優(yōu)秀的信創(chuàng)軟硬件產(chǎn)品,已經(jīng)可以滿足國(guó)內(nèi)政府、企事業(yè)單位日常使用,越來(lái)越多基于信創(chuàng)軟硬件的Web應(yīng)用軟件系統(tǒng)在很多行業(yè)投入使用。
[0003]但是在Web軟件開(kāi)發(fā)過(guò)程中一些容易反復(fù)觸發(fā)的事件,比如:
[0004]查詢,登錄,驗(yàn)證碼等按鈕用戶點(diǎn)擊太快,導(dǎo)致發(fā)送多次請(qǐng)求;
[0005]調(diào)整瀏覽器窗口大小,resize次數(shù)過(guò)于頻繁,造成計(jì)算過(guò)多;
[0006]Input框查詢列表時(shí),輸入的內(nèi)容每改變一次就會(huì)觸發(fā)一次查詢,導(dǎo)致查詢了很多不是我們想要查詢的數(shù)據(jù),造成性能浪費(fèi);
[0007]瀏覽器滾動(dòng)scroll事件,瀏覽器滾動(dòng)事件被大量觸發(fā),每次觸發(fā)都會(huì)執(zhí)行回調(diào)函數(shù),實(shí)際上大部分是可以不執(zhí)行的,造成性能浪費(fèi)。
[0008]這些事件的頻繁觸發(fā)會(huì)拖慢系統(tǒng)的運(yùn)行速度,而網(wǎng)上對(duì)于國(guó)產(chǎn)環(huán)境下Web應(yīng)用軟件的高頻觸發(fā)事件性能優(yōu)化經(jīng)驗(yàn)分享還比較稀少,這樣將會(huì)不斷重復(fù)研發(fā)優(yōu)化方法,造成資源浪費(fèi)。
[0009]故現(xiàn)專利技術(shù)一種基于JavaScript MVW框架的Web性能優(yōu)化方法及系統(tǒng),以解決上述問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
[0010]本專利技術(shù)針對(duì)現(xiàn)有技術(shù)的問(wèn)題,提供一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,所采用的技術(shù)方案為:一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,所述的方法包括通過(guò)Javascript MVM框架angularJs(1.0)技術(shù)對(duì)Web應(yīng)用軟件高頻觸發(fā)事件進(jìn)行處理,通過(guò)判斷執(zhí)行間隔時(shí)間來(lái)決定觸發(fā)事件是否執(zhí)行,從而達(dá)到節(jié)省性能的目的。
[0011]所述高頻事件觸發(fā)后預(yù)設(shè)時(shí)間內(nèi)函數(shù)只會(huì)執(zhí)行一次,如果預(yù)設(shè)時(shí)間內(nèi)高頻事件再次被觸發(fā),則重新計(jì)算。
[0012]所述高頻事件觸發(fā)后預(yù)設(shè)時(shí)間內(nèi)函數(shù)只會(huì)執(zhí)行一次,如果預(yù)設(shè)時(shí)間內(nèi)高頻事件再次被觸發(fā),則重新計(jì)算的具體步驟如下:
[0013]S1使用angularJs的$timeout指令,設(shè)置執(zhí)行延時(shí)間;
[0014]S2在預(yù)設(shè)時(shí)間內(nèi)觸發(fā)高頻事件時(shí),清除當(dāng)前$timeout指令并重新設(shè)定。
[0015]所述高頻事件觸發(fā)后在一段時(shí)間內(nèi),有規(guī)律的在每個(gè)預(yù)設(shè)時(shí)間間隔執(zhí)行一次事件,稀釋了事件執(zhí)行的頻率。
[0016]所述高頻事件觸發(fā)后在一段時(shí)間內(nèi),有規(guī)律的在每個(gè)預(yù)設(shè)時(shí)間間隔執(zhí)行一次事
件,稀釋了事件執(zhí)行的頻率的具體步驟如下:
[0017]S1第一次執(zhí)行方法時(shí),設(shè)置全局變量并賦值為false,判斷全局變量是否為true;
[0018]S2是則退出執(zhí)行,否的情況下設(shè)置全局變量true;
[0019]S3使用$timeout指令,并在指令內(nèi)設(shè)置全局變量為false。
[0020]一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化系統(tǒng),所述系統(tǒng)具體包括指令延遲模塊和指令處理模塊:
[0021]指令延遲模塊:使用angularJs的$timeout指令,設(shè)置執(zhí)行延時(shí)間;
[0022]指令處理模塊:在預(yù)設(shè)時(shí)間內(nèi)觸發(fā)高頻事件時(shí),清除當(dāng)前$timeout指令并重新設(shè)定。
[0023]一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化系統(tǒng),所述系統(tǒng)具體包括變量判斷模塊、變量處理模塊和變量設(shè)置模塊:
[0024]變量判斷模塊:第一次執(zhí)行方法時(shí),設(shè)置全局變量并賦值為false,判斷全局變量是否為true;
[0025]變量處理模塊:是則退出執(zhí)行,否的情況下設(shè)置全局變量true;
[0026]變量設(shè)置模塊:使用$timeout指令,并在指令內(nèi)設(shè)置全局變量為false。
[0027]本專利技術(shù)的有益效果為:本專利技術(shù)針對(duì)當(dāng)前國(guó)產(chǎn)環(huán)境下Web軟件的性能問(wèn)題,本專利技術(shù)法解決了高頻觸發(fā)且大部分無(wú)實(shí)際意義事件占用大量瀏覽器性能的問(wèn)題,有效提高了Web軟件的運(yùn)行速度,和不處理的代碼相比,有效提高了軟件運(yùn)行的流暢性;由本專利技術(shù)方法優(yōu)化后的方法,不增加使用者的額外操作和對(duì)系統(tǒng)資源的占用的額外占用。
附圖說(shuō)明
[0028]為了更清楚地說(shuō)明本專利技術(shù)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本專利技術(shù)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1是本專利技術(shù)方法實(shí)施例一的實(shí)施流程圖;圖2是本專利技術(shù)方法實(shí)施例二的實(shí)施流程圖。
具體實(shí)施方式
[0030]下面結(jié)合附圖和具體實(shí)施例對(duì)本專利技術(shù)作進(jìn)一步說(shuō)明,以使本領(lǐng)域的技術(shù)人員可以更好地理解本專利技術(shù)并能予以實(shí)施,但所舉實(shí)施例不作為對(duì)本專利技術(shù)的限定。
[0031]實(shí)施例一:
[0032]一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,所述的方法包括通過(guò)Javascript MVM框架angularJs(1.0)技術(shù)對(duì)Web應(yīng)用軟件高頻觸發(fā)事件進(jìn)行處理,通過(guò)判斷執(zhí)行間隔時(shí)間來(lái)決定觸發(fā)事件是否執(zhí)行,從而達(dá)到節(jié)省性能的目的;
[0033]進(jìn)一步的,所述高頻事件觸發(fā)后預(yù)設(shè)時(shí)間內(nèi)函數(shù)只會(huì)執(zhí)行一次,如果預(yù)設(shè)時(shí)間內(nèi)高頻事件再次被觸發(fā),則重新計(jì)算;
[0034]再進(jìn)一步的,所述高頻事件觸發(fā)后預(yù)設(shè)時(shí)間內(nèi)函數(shù)只會(huì)執(zhí)行一次,如果預(yù)設(shè)時(shí)間內(nèi)高頻事件再次被觸發(fā),則重新計(jì)算的具體步驟如下:
[0035]S1使用angularJs的$timeout指令,設(shè)置執(zhí)行延時(shí)間;
[0036]S2在預(yù)設(shè)時(shí)間內(nèi)觸發(fā)高頻事件時(shí),清除當(dāng)前$timeout指令并重新設(shè)定;
[0037]第一次執(zhí)行方法時(shí),使用angularJs的$timeout指令,設(shè)置執(zhí)行延時(shí),延時(shí)時(shí)間可以作為參數(shù)自定義,讓函數(shù)更加靈活;在預(yù)設(shè)時(shí)間內(nèi)事件再被觸發(fā)時(shí),會(huì)清除當(dāng)前的$timeout指令取消然后重新設(shè)置一次$timeout指令,延時(shí)時(shí)間與第一次時(shí)間一致,即重新計(jì)時(shí);這樣在預(yù)設(shè)時(shí)間內(nèi)每次觸發(fā)事件時(shí)都取消之前的延時(shí)調(diào)用方法并設(shè)置新的延時(shí)調(diào)用,最終只會(huì)調(diào)用觸發(fā)間隔大于預(yù)設(shè)時(shí)間的事件;
[0038]本專利技術(shù)方法能夠降低高頻事件的執(zhí)行頻率,避免大量不必要執(zhí)行的回調(diào)方法,從而提高Web應(yīng)用性能;
[0039]本專利技術(shù)方法適用于事件高頻觸發(fā)的事件但是該事件有停頓,例如:實(shí)時(shí)查詢事件、瀏覽器縮放事件等,這樣可以保證最終結(jié)果是用戶所需要的,并且可以把中間非用戶目標(biāo)的狀態(tài)過(guò)濾掉;
[0040]實(shí)施例二:
[0041]一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,所述的方法包括通過(guò)Javascript MVM框架angularJs(1.0)技術(shù)對(duì)Web應(yīng)用軟件高頻觸發(fā)事件進(jìn)行處理,通過(guò)判斷執(zhí)行間隔時(shí)間來(lái)決定觸發(fā)事件是否執(zhí)行,從而達(dá)到節(jié)省性能的目的;
[0042]進(jìn)一步的,所述高頻事件本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
1.一種基于國(guó)產(chǎn)CPU、操作系統(tǒng)和瀏覽器的Web性能優(yōu)化方法,其特征是所述的方法包括通過(guò)Javascript MVM框架angularJs(1.0)技術(shù)對(duì)Web應(yīng)用軟件高頻觸發(fā)事件進(jìn)行處理,通過(guò)判斷執(zhí)行間隔時(shí)間來(lái)決定觸發(fā)事件是否執(zhí)行,從而達(dá)到節(jié)省性能的目的。2.根據(jù)權(quán)利要求1所述的方法,其特征是所述高頻事件觸發(fā)后預(yù)設(shè)時(shí)間內(nèi)函數(shù)只會(huì)執(zhí)行一次,如果預(yù)設(shè)時(shí)間內(nèi)高頻事件再次被觸發(fā),則重新計(jì)算。3.根據(jù)權(quán)利要求2所述的方法,其特征是所述高頻事件觸發(fā)后預(yù)設(shè)時(shí)間內(nèi)函數(shù)只會(huì)執(zhí)行一次,如果預(yù)設(shè)時(shí)間內(nèi)高頻事件再次被觸發(fā),則重新計(jì)算的具體步驟如下:S1使用angularJs的$timeout指令,設(shè)置執(zhí)行延時(shí)間;S2在預(yù)設(shè)時(shí)間內(nèi)觸發(fā)高頻事件時(shí),清除當(dāng)前$timeout指令并重新設(shè)定。4.根據(jù)權(quán)利要求1所述的方法,其特征是所述高頻事件觸發(fā)后在一段時(shí)間內(nèi),有規(guī)律的在每個(gè)預(yù)設(shè)時(shí)間間隔執(zhí)行一次事件,稀釋了事件執(zhí)行的頻率。5.根據(jù)權(quán)利要求4所述的方法,其特征是所述高頻事件觸發(fā)后在一段時(shí)間內(nèi),有規(guī)律的在每個(gè)預(yù)設(shè)時(shí)間間隔執(zhí)行一次事件,稀釋了事...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:張海倫,李楊,王松,
申請(qǐng)(專利權(quán))人:浪潮軟件集團(tuán)有限公司,
類型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。