文件讀取方法、裝置和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及計算機技術領域,特別涉及一種文件讀取方法、裝置和系統(tǒng)。
【背景技術】
[0002]在網頁開發(fā)過程中,為了減輕服務器端的計算量,為客戶端提供更流暢的網頁瀏覽效果,研發(fā)人員開發(fā)出了一種客戶端腳本語言JavaScript。JavaScript是一種基于對象和事件驅動并具有相對安全性的客戶端腳本語言,同時也是一種廣泛用于客戶端Web (網頁)開發(fā)的腳本語言,常用來給HTML (Hypertext Markup Language,超文本標記語言)網頁添加動態(tài)功能,比如響應用戶的各種操作。
[0003]JavaScript腳本文件的作用在于控制網頁中的對象元素,研發(fā)人員將JavaScript腳本文件嵌入HTML頁面中,由客戶端的瀏覽器對JavaScript腳本文件進行解釋并執(zhí)行,實現用戶與網頁內容之間的動態(tài)交互。JavaScript腳本文件能夠對網頁內容進行控制,對用戶操作進行響應,實現網頁內容的動態(tài)交互效果。在一個具體的例子中,假設文件名為a.js的JavaScript腳本文件的內容是在用戶打開網頁時彈出“Hello”這一英文單詞,將該文件名為a.js的JavaScript腳本文件嵌入HTML頁面中即可實現上述效果。進一步地,可以對該文件名為a.js的JavaScript腳本文件的內容進行修改,實現在用戶打開網頁時,首先從服務器端獲取用戶的昵稱“XXX”,然后彈出“Hello,XXX”。
[0004]在實現本發(fā)明的過程中,發(fā)明人發(fā)現現有技術至少存在以下問題:由于客戶端的瀏覽器具有本地緩存功能,瀏覽器在打開網頁時會優(yōu)先使用本地緩存中的JavaScript腳本文件。那么如果用戶在JavaScript腳本文件未被修改時就已經打開過該網頁,貝U當用戶再次打開該網頁的時候瀏覽器會優(yōu)先使用本地緩存中修改前的JavaScript腳本文件而并不使用網頁內修改后的JavaScript腳本文件,因此無法實現彈出“Hello,XXX”的效果。此時,用戶需要清理瀏覽器的本地緩存,迫使瀏覽器讀取網頁內修改后的JavaScript腳本文件,才能實現在打開網頁時彈出“Hello,XXX”的效果。然而,如果在網頁開發(fā)和調試過程中,每修改一次JavaScript腳本文件的文件內容就要清理一遍瀏覽器的本地緩存才能查看到修改后的效果的話,將會大大影響網頁開發(fā)和調試的效率。
【發(fā)明內容】
[0005]為了解決現有技術需要手工清理瀏覽器緩存才能使得瀏覽器讀取新的JavaScript腳本文件,影響網頁開發(fā)和調試的效率的問題,本發(fā)明實施例提供了一種文件讀取方法、裝置和系統(tǒng)。所述技術方案如下:
[0006]第一方面,提供了一種文件讀取方法,所述方法包括:
[0007]檢測預定文件的文件內容是否發(fā)生變化,所述預定文件為在嵌入網頁頁面后會被瀏覽器緩存的文件;
[0008]若檢測結果為所述文件內容發(fā)生變化,則生成與所述預定文件的當前文件名不同的另一文件名;
[0009]通過所述另一文件名替換所述預定文件的當前文件名;
[0010]將被替換文件名后的所述預定文件嵌入所述網頁頁面中,所述文件名被替換后的所述預定文件用于觸發(fā)瀏覽器在打開所述網頁頁面時直接讀取。
[0011]在第一方面的第一種可能的實施方式中,所述生成與所述預定文件的當前文件名不同的另一文件名,包括:
[0012]根據所述文件內容生成所述文件內容的摘要,將所述摘要作為所述另一文件名;
[0013]或者,
[0014]通過版本管理工具生成與所述預定文件的當前文件名不同的另一文件名。
[0015]結合第一方面的第一種可能的實施方式,在第二種可能的實施方式中,所述根據所述文件內容生成所述文件內容的摘要,包括:
[0016]通過消息摘要算法根據所述文件內容生成所述文件內容的摘要;
[0017]或者,
[0018]通過安全散列算法根據所述文件內容生成所述文件內容的摘要。
[0019]結合第一方面、第一方面的第一種可能的實施方式或者第一方面的第二種可能的實施方式,在第三種可能的實施方式中,當所述網頁頁面為動態(tài)網頁頁面時,所述檢測預定文件的文件內容是否發(fā)生變化,包括:
[0020]檢測腳本文件JavaScript的文件內容是否有變化;
[0021]所述將被替換文件名后的所述預定文件嵌入所述網頁頁面中,包括:
[0022]將被替換文件名后的所述腳本文件JavaScript嵌入所述動態(tài)網頁頁面中,所述被替換文件名后的所述腳本文件JavaScript用于觸發(fā)瀏覽器在打開所述動態(tài)網頁頁面時直接讀取。
[0023]第二方面,提供了一種文件讀取裝置,所述裝置包括:
[0024]文件檢測模塊,用于檢測預定文件的文件內容是否發(fā)生變化,所述預定文件為在嵌入網頁頁面后會被瀏覽器緩存的文件;
[0025]名稱生成模塊,用于若檢測結果為所述文件內容發(fā)生變化,則生成與所述預定文件的當前文件名不同的另一文件名;
[0026]名稱替換模塊,用于通過所述另一文件名替換所述預定文件的當前文件名;
[0027]文件嵌入模塊,用于將被替換文件名后的所述預定文件嵌入所述網頁頁面中,所述文件名被替換后的所述預定文件用于觸發(fā)瀏覽器在打開所述網頁頁面時直接讀取。
[0028]在第二方面的第一種可能的實施方式中,所述名稱生成模塊,包括:第一生成單元;或者,第二生成單元;
[0029]所述第一生成單元,用于根據所述文件內容生成所述文件內容的摘要,將所述摘要作為所述另一文件名;
[0030]或者,
[0031]所述第二生成單元,用于通過版本管理工具生成與所述預定文件的當前文件名不同的另一文件名。
[0032]結合第二方面的第一種可能的實施方式,在第二種可能的實施方式中,所述第一生成單元,包括:第一生成子單元;或者,第二生成子單元;
[0033]所述第一生成子單元,用于通過消息摘要算法根據所述文件內容生成所述文件內容的摘要;
[0034]或者,
[0035]所述第二生成子單元,用于通過安全散列算法根據所述文件內容生成所述文件內容的摘要。
[0036]結合第二方面、第二方面的第一種可能的實施方式或者第二方面的第二種可能的實施方式,在第三種可能的實施方式中,當所述網頁頁面為動態(tài)網頁頁面時,
[0037]所述文件檢測模塊,用于檢測腳本文件JavaScript的文件內容是否有變化;
[0038]所述文件嵌入模塊,用于將被替換文件名后的所述腳本文件JavaScript嵌入所述動態(tài)網頁頁面中,所述被替換文件名后的所述腳本文件JavaScript用于觸發(fā)瀏覽器在打開所述動態(tài)網頁頁面時直接讀取。
[0039]第三方面,提供了一種文件讀取系統(tǒng),所述系統(tǒng)包括如第二方面及第二方面的各種可能的實施方式中任一所述的文件讀取裝置。
[0040]本發(fā)明實施例提供的技術方案帶來的有益效果是:
[0041]當檢測預定文件的文件內容發(fā)生變化時,通過生成與預定文件的當前文件名不同的另一文件名,并通過該另一文件名替換預定文件的當前文件名,然后將被替換文件名后的預定文件嵌入網頁頁面中,該文件名被替換后的預定文件用于觸發(fā)瀏覽器在打開網頁頁面時直接讀??;解決了現有技術需要手工清理瀏覽器緩存才能使得瀏覽器讀取新的JavaScript腳本文件,影響網頁開發(fā)和調試的效率的問題;達到了通過自動替換文件名巧妙地繞開瀏覽器的緩存,使得瀏覽器讀取文件名被替換后的預定文件,提高網頁開發(fā)和調試的效率的效果。
【附圖說明】
[0042]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0043]圖1是本發(fā)明一個實施例提供的文件讀取方法的方法流程圖;
[0044]圖2是本發(fā)明另一實施例提供的文件讀取方法的方法流程圖;
[0045]圖3是本發(fā)明一個實施例提供的文件讀取裝置的結構方框圖;
[0046]圖4是本發(fā)明另一實施例提供的文件讀取裝置的結構方框圖。
【具體實施方式】
[0047]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0048]發(fā)明人發(fā)現,為了避免瀏覽器在打開網頁時候優(yōu)先讀取并執(zhí)行本地緩存中的JavaScript腳本文件,研發(fā)人員在修改JavaScript腳本文件的文件內容之后,可以使用一個新的文件名對JavaScript腳本文件的原有的文件名進行替換。將JavaScript腳本文件的原有的文件名替換掉之后,瀏覽器在讀取JavaScri