網(wǎng)頁(yè)處理方法和裝置制造方法
【專利摘要】本申請(qǐng)公開了一種網(wǎng)頁(yè)處理方法和裝置,其中,該方法包括:確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,js代碼用于對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行的控制;如果包含js代碼,則將js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋停渲?,第二類型用于指示停止?zhí)行js代碼;在完成對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將js代碼的標(biāo)簽類型從第二類型改變?yōu)榈谝活愋?,其中,第一類型用于指示?zhí)行js代碼。本申請(qǐng)解決了現(xiàn)有技術(shù)中對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率較低的技術(shù)問題,達(dá)到了提高網(wǎng)頁(yè)編輯或者測(cè)試的效率的效果。
【專利說明】網(wǎng)頁(yè)處理方法和裝置【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及互聯(lián)網(wǎng)領(lǐng)域,具體而言,涉及一種網(wǎng)頁(yè)處理方法和裝置。
【背景技術(shù)】
[0002]目前,JavaScript(簡(jiǎn)稱為js)作為一種能讓網(wǎng)頁(yè)更加生動(dòng)活潑的程式語言,憑借其簡(jiǎn)單易學(xué),使用較為方面等優(yōu)點(diǎn)得到了廣泛的應(yīng)用,開發(fā)人員可以利用JavaScript方便地做出親切的網(wǎng)頁(yè)歡迎界面、漂亮的數(shù)字鐘以及有廣告效果的跑馬燈等,同時(shí)還可以通過JavaScript控制某個(gè)頁(yè)面區(qū)域在瀏覽器的顯示時(shí)間,從而極大地提高了網(wǎng)頁(yè)的視覺效果。
[0003]Javascript在網(wǎng)頁(yè)中最常用的是對(duì)頁(yè)面區(qū)域的可見或不可見的效果進(jìn)行控制。例如,可以通過JavaScript模擬出下拉菜單層,當(dāng)鼠標(biāo)移動(dòng)到特定區(qū)域時(shí),這個(gè)下拉菜單便會(huì)展示出來,當(dāng)鼠標(biāo)移開時(shí),這個(gè)下拉菜單就會(huì)自動(dòng)不可見。
[0004]然而,在可視化編輯中對(duì)這些下拉菜單進(jìn)行編輯時(shí),編輯人員會(huì)希望這些下拉菜單一直處于可見狀態(tài),即使鼠標(biāo)離開了特定的區(qū)域也希望這些下拉菜單處于可見的狀態(tài)。然而,當(dāng)設(shè)計(jì)者在對(duì)下拉菜單進(jìn)行編輯或者測(cè)試時(shí),鼠標(biāo)往往不能一直停在上述的特定區(qū)域,這樣設(shè)計(jì)者也就無法實(shí)時(shí)看到下拉菜單的編輯效果。如果設(shè)計(jì)者在編輯完一段代碼后,想看一下對(duì)應(yīng)的下拉菜單的顯示效果就需要再將鼠標(biāo)放到上述的特定區(qū)域進(jìn)行觀看,然后再離開繼續(xù)進(jìn)行編輯,無法實(shí)現(xiàn)編輯和顯示的同步。同時(shí)按照上述方式對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試,操作起來也比較麻煩,對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率也很低。
[0005]相關(guān)技術(shù)中,常用的解決方法就是找到JavaScript操作的DOM節(jié)點(diǎn),然后取消事件綁定或者取消組件綁定,在完成相應(yīng)的編輯或者測(cè)試工作后再在需要時(shí)恢復(fù)事件或組件的綁定。即,在不希望通過JavaScript對(duì)頁(yè)面的可見狀態(tài)進(jìn)行控制時(shí),就取消事件或者組件的綁定,在需要時(shí)就恢復(fù)綁定。然而,通過這種事件或者組件的綁定或者解除來控制頁(yè)面的可見狀態(tài)的方式,需要被控制對(duì)象滿足以下三個(gè)條件:1)操作的對(duì)象需要是頁(yè)面中的某個(gè)DOM節(jié)點(diǎn);2)需要知道該對(duì)象綁定的`事件類型或組件類型;3)綁定的事件或類型必須提供取消綁定功能。因此,實(shí)現(xiàn)起來有一定的限制,僅能對(duì)滿足以上三個(gè)條件的區(qū)域進(jìn)行控制,而難以對(duì)頁(yè)面內(nèi)的所有區(qū)域進(jìn)行控制,同時(shí),需要尋找對(duì)應(yīng)的事件或者組件,實(shí)現(xiàn)起來較為復(fù)雜,效率較低。
[0006]針對(duì)上述問題,尚未提出有效的解決方法。
【發(fā)明內(nèi)容】
[0007]本申請(qǐng)?zhí)峁┝艘环N網(wǎng)頁(yè)處理方法和裝置,以至少解決現(xiàn)有技術(shù)中對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率較低的技術(shù)問題。
[0008]根據(jù)本申請(qǐng)的一個(gè)方面,提供了一種網(wǎng)頁(yè)處理方法,該方法包括:確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,上述js代碼用于對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行的控制;如果包含上述js代碼,則將上述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋停渲?,上述第二類型用于指示停止?zhí)行上述js代碼;在完成對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將上述js代碼的標(biāo)簽類型從上述第二類型改變?yōu)樯鲜龅谝活愋?,其中,上述第一類型用于指示?zhí)行上述js代碼。
[0009]優(yōu)選地,上述js代碼對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)所進(jìn)行的控制包括:控制上述當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行可見或不可見。
[0010]優(yōu)選地,上述將上述js代碼的標(biāo)簽類型從上述第二類型改變?yōu)樯鲜龅谝活愋偷牟襟E包括:通過上述網(wǎng)頁(yè)上設(shè)置的接口控件接收用于請(qǐng)求執(zhí)行上述js代碼的請(qǐng)求指令;響應(yīng)于上述請(qǐng)求指令將上述js代碼的標(biāo)簽類型從上述第二類型改變?yōu)樯鲜龅谝活愋汀?br>
[0011]優(yōu)選地,在將上述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋蜁r(shí),上述方法還包括:在上述網(wǎng)頁(yè)上設(shè)置上述接口控件。
[0012]優(yōu)選地,在對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的處理的過程中,上述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)為可見。
[0013]優(yōu)選地,對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的處理的步驟包括:對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行編輯和/或測(cè)試。
[0014]優(yōu)選地,上述第一類型為text/javascript,上述第二類型為text/plain。
[0015]根據(jù)本申請(qǐng)的另一方面,提供了一種網(wǎng)頁(yè)處理裝置,包括:確定單元,用于確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,上述js代碼用于對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行的控制;修改單元,用于當(dāng)確定包含上述js代碼時(shí),將上述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋?,其中,上述第二類型用于指示停止?zhí)行上述js代碼;還原單元,用于在完成對(duì)上述當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將上述js代碼的標(biāo)簽類型從上述第二類型改變?yōu)樯鲜龅谝活愋?,其中,上述第一類型用于指示?zhí)行上述js代碼。
[0016]優(yōu)選地,上述還原單元包括:接收模塊,用于通過上述網(wǎng)頁(yè)上設(shè)置的接口控件接收用于請(qǐng)求執(zhí)行上述js代碼的請(qǐng)求指令;還原模塊,用于響應(yīng)于上述請(qǐng)求指令將上述js代碼的標(biāo)簽類型從上述第二類型改變?yōu)樯鲜龅谝活愋汀?br>
[0017]優(yōu)選地,上述網(wǎng)頁(yè)處理裝置還包括:設(shè)置單元,用于在將上述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋蜁r(shí),在上述網(wǎng)頁(yè)上設(shè)置上述接口控件。
[0018]在本申請(qǐng)中,通過對(duì)待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中的js代碼的標(biāo)簽類型的控制,以在特定時(shí)間點(diǎn)時(shí)取消該段js代碼對(duì)待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行控制,從而解決了現(xiàn)有技術(shù)中對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率較低的技術(shù)問題,達(dá)到了提高網(wǎng)頁(yè)編輯或者測(cè)試的效率的效果。同時(shí),在本優(yōu)選實(shí)施方式中,不需要關(guān)心頁(yè)面的實(shí)現(xiàn)方式,只要確定某待處理頁(yè)面區(qū)域內(nèi)含有JavaScript代碼即可,適用范圍更廣。
【專利附圖】
【附圖說明】
[0019]此處所說明的附圖用來提供對(duì)本申請(qǐng)的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本申請(qǐng)的示意性實(shí)施例及其說明用于解釋本申請(qǐng),并不構(gòu)成對(duì)本申請(qǐng)的不當(dāng)限定。在附圖中:
[0020]圖1是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理系統(tǒng)的一種優(yōu)選結(jié)構(gòu)框圖;
[0021]圖2是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理裝置的一種優(yōu)選結(jié)構(gòu)框圖;
[0022]圖3是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理裝置的另一種優(yōu)選結(jié)構(gòu)框圖;
[0023]圖4是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理方法的一種優(yōu)選流程圖;[0024]圖5是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理方法的另一種優(yōu)選流程圖;
[0025]圖6是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理方法的又一種優(yōu)選流程圖。
【具體實(shí)施方式】
[0026]下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0027]在描述本申請(qǐng)的各實(shí)施例的進(jìn)一步細(xì)節(jié)之前,將參考圖1來描述可用于實(shí)現(xiàn)本申請(qǐng)的原理的一個(gè)合適的計(jì)算體系結(jié)構(gòu)。在以下描述中,除非另外指明,否則將參考由一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的動(dòng)作和操作的符號(hào)表示來描述本申請(qǐng)的各實(shí)施例。由此,可以理解,有時(shí)被稱為計(jì)算機(jī)執(zhí)行的這類動(dòng)作和操作包括計(jì)算機(jī)的處理單元對(duì)以結(jié)構(gòu)化形式表示數(shù)據(jù)的電信號(hào)的操縱。這一操縱轉(zhuǎn)換了數(shù)據(jù)或在計(jì)算機(jī)的存儲(chǔ)器系統(tǒng)中的位置上維護(hù)它,這以本領(lǐng)域的技術(shù)人員都理解的方式重配置或改變了計(jì)算機(jī)的操作。維護(hù)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是具有數(shù)據(jù)的格式所定義的特定屬性的存儲(chǔ)器的物理位置。然而,盡管在上述上下文中描述本申請(qǐng),但它并不意味著限制性的,如本領(lǐng)域的技術(shù)人員所理解的,后文所描述的動(dòng)作和操作的各方面也可用硬件來實(shí)現(xiàn)。
[0028]轉(zhuǎn)向附圖,其中相同的參考標(biāo)號(hào)指代相同的元素,本申請(qǐng)的原理被示為在一個(gè)合適的計(jì)算環(huán)境中實(shí)現(xiàn)。以下描述基于所述的本申請(qǐng)的實(shí)施例,并且不應(yīng)認(rèn)為是關(guān)于此處未明確描述的替換實(shí)施例而限制本申請(qǐng)。
[0029]圖1示出了可用于這些設(shè)備的一個(gè)示例計(jì)算機(jī)體系結(jié)構(gòu)的示意圖。出于描述的目的,所繪的體系結(jié)構(gòu)僅為合適環(huán)境的一個(gè)示例,并非對(duì)本申請(qǐng)的使用范圍或功能提出任何局限。也不應(yīng)將該計(jì)算系統(tǒng)解釋為對(duì)圖1所示的任一組件或其組合具有任何依賴或需求。
[0030]本申請(qǐng)的原理可以使用其它通用或?qū)S糜?jì)算或通信環(huán)境或配置來操作。適用于本申請(qǐng)的眾所周知的計(jì)算系統(tǒng)、環(huán)境和配置的示例包括但不限于,個(gè)人計(jì)算機(jī)、服務(wù)器,多處理器系統(tǒng)、基于微處理的系統(tǒng)、小型機(jī)、大型計(jì)算機(jī)、以及包括任一上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境。
[0031]在其最基本的配置中,圖1中的網(wǎng)頁(yè)處理系統(tǒng)100至少包括:一個(gè)網(wǎng)站的服務(wù)器102以及一個(gè)或多個(gè)客戶端104。服務(wù)器102可以包括但不限于微處理器MCU或可編程邏輯器件FPGA等的處理裝置、用于存儲(chǔ)數(shù)據(jù)的存儲(chǔ)裝置以及與客戶端通信的傳輸裝置;客戶端104可以包括:微處理器MCU、與服務(wù)器通信的傳輸裝置、與用戶交互的顯示裝置。在本說明書和權(quán)利要求書中,“系統(tǒng)”也可以被定義為能夠執(zhí)行軟件、固件或微碼來實(shí)現(xiàn)功能的任何硬件組件或硬件組件的組合,網(wǎng)頁(yè)處理系統(tǒng)100甚至可以是分布式的,以實(shí)現(xiàn)分布式功能。
[0032]如本申請(qǐng)所使用的,術(shù)語“模塊”、“組件”或“單元”可以指在配置信息的更新系統(tǒng)100上執(zhí)行的軟件對(duì)象或例程。此處所描述的不同組件、模塊、單元、引擎和服務(wù)可被實(shí)現(xiàn)為在網(wǎng)頁(yè)處理系統(tǒng)100上執(zhí)行(例如,作為單獨(dú)的線程)的對(duì)象或進(jìn)程。盡管此處所描述的系統(tǒng)和方法較佳地以軟件來實(shí)現(xiàn),但是硬件或軟件和硬件的組合的實(shí)現(xiàn)也是可能并被構(gòu)想的。
[0033]實(shí)施例1
[0034]圖2是根據(jù)本申請(qǐng)實(shí)施例的網(wǎng)頁(yè)處理裝置的一種優(yōu)選的結(jié)構(gòu)示意圖,優(yōu)選的,本實(shí)施例中的裝置位于客戶端104上。如圖2所示,該網(wǎng)頁(yè)處理裝置包括確定單元202、修改單元204和還原單元206。下面對(duì)這幾個(gè)單元進(jìn)行具體的描述。
[0035]I)確定單元202,用于確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,js代碼用于對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行的控制;
[0036]例如,當(dāng)用戶希望對(duì)當(dāng)前編輯的網(wǎng)頁(yè)中的某個(gè)下拉菜單進(jìn)行編輯時(shí),考慮到下拉菜單的特性是鼠標(biāo)移到一定位置或者區(qū)域時(shí)下拉菜單才會(huì)顯示,當(dāng)鼠標(biāo)離開該特定區(qū)域時(shí),下拉菜單就會(huì)處于不可見狀態(tài),這樣在對(duì)其進(jìn)行編輯的時(shí)候就無法實(shí)時(shí)看到編輯的效果。因此,通過對(duì)該下拉菜單所對(duì)應(yīng)的用于對(duì)其進(jìn)行可見控制的js代碼的控制來達(dá)到對(duì)其可見和不可見的控制。優(yōu)選的,可以先判斷該下拉菜單對(duì)應(yīng)的html代碼中是否有一段用于對(duì)該待處理頁(yè)面區(qū)域可見狀態(tài)進(jìn)行控制的js代碼,只有html代碼中存在js代碼才可以采用以下方式對(duì)該待處理的頁(yè)面區(qū)域進(jìn)行控制。
[0037]2)修改單元204,與確定單元202耦合,用于當(dāng)確定包含js代碼時(shí),將js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋?,其中,第二類型用于指示停止?zhí)行js代碼;
[0038]當(dāng)判斷出存在對(duì)該待處理頁(yè)面區(qū)域顯示狀態(tài)進(jìn)行控制的js代碼時(shí),就將這段js代碼的狀態(tài)由執(zhí)行狀態(tài)修改為非執(zhí)行狀態(tài),這樣這段js對(duì)待處理的頁(yè)面區(qū)域的控制作用也就消失了,即使鼠標(biāo)離開特定的區(qū)域,下拉菜單也不會(huì)不可見。優(yōu)選的,每段js代碼都對(duì)應(yīng)著一個(gè)屬性標(biāo)識(shí),這個(gè)屬性標(biāo)識(shí)可以標(biāo)識(shí)出該段js代碼是文本還是代碼,如果標(biāo)識(shí)為文本,則這段代碼不被執(zhí)行,如果標(biāo)識(shí)為js代碼則這段代碼將被執(zhí)行。因此,考慮到網(wǎng)頁(yè)菜單是依據(jù)js代碼實(shí)現(xiàn)的可見和不可見的控制,只需要在下拉菜單處于可見狀態(tài)的時(shí)候,將這段對(duì)其進(jìn)行控制的js代碼由代碼狀態(tài)更改為文本狀態(tài),這樣這段js代碼的控制作用也就消失了,相應(yīng)的下拉菜單也就會(huì)一直處于可見狀態(tài),使得編輯人員可以實(shí)時(shí)看到編輯的效果。上述可見和不可見的狀態(tài)可以是指該頁(yè)面區(qū)域是否處于人眼可以看到的狀態(tài)。作為一種優(yōu)選的方式,可以按照以下方式實(shí)現(xiàn)可見和不可見的狀態(tài):對(duì)待處理頁(yè)面區(qū)域進(jìn)行顯示或者隱藏,或者,對(duì)需要設(shè)定為不可見的待處理頁(yè)面區(qū)域進(jìn)行遮擋等等。
[0039]3)還原單元206,與修改單元204耦合,用于在完成對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將js代碼的標(biāo)簽類型從第二類型改變?yōu)榈谝活愋?,其中,第一類型用于指示?zhí)行j S代碼。
[0040]在完成對(duì)下拉菜單的編輯之后,可以將其對(duì)應(yīng)的標(biāo)簽類型再更改為js代碼狀態(tài),從而恢復(fù)js代碼對(duì)下拉菜單的可見狀態(tài)的控制作用。
[0041]在上述優(yōu)選實(shí)施方式中,通過對(duì)待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中的js代碼的標(biāo)簽類型的控制,以在特定時(shí)間點(diǎn)時(shí)取消該段js代碼對(duì)待處理的頁(yè)面區(qū)域的可見狀態(tài)進(jìn)行控制,從而解決了現(xiàn)有技術(shù)中對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率較低的技術(shù)問題,達(dá)到了提高網(wǎng)頁(yè)編輯或者測(cè)試的效率的效果,同時(shí),在本優(yōu)選實(shí)施方式中,不需要關(guān)心頁(yè)面的實(shí)現(xiàn)方式,只要確定某待處理頁(yè)面區(qū)域內(nèi)含有JavaScript代碼即可,適用范圍更廣。
[0042]對(duì)于上述的對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的可見狀態(tài)的控制就是對(duì)待處理的頁(yè)面區(qū)域的可見或者不可見的控制,即在特定的時(shí)間點(diǎn)控制待處理的頁(yè)面區(qū)域是不可見還是可見。
[0043]在一個(gè)優(yōu)選實(shí)施方式中,如圖3所示,上述還原單元206包括:接收模塊302,用于通過網(wǎng)頁(yè)上設(shè)置的接口控件接收用于請(qǐng)求執(zhí)行js代碼的請(qǐng)求指令;還原模塊304,與接收模塊302耦合,用于響應(yīng)于請(qǐng)求指令將js代碼的標(biāo)簽類型從第二類型改變?yōu)榈谝活愋汀I鲜龅慕涌诳丶梢允窃趯s代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋偷倪^程中在當(dāng)前網(wǎng)頁(yè)上設(shè)置的,例如,該控件可以就是頁(yè)面上的一個(gè)按鈕,只要用戶點(diǎn)擊該按鈕就可以觸發(fā)對(duì)js代碼的標(biāo)簽類型的更改。
[0044]在上述各個(gè)優(yōu)選實(shí)施方式中,在對(duì)當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行處理的時(shí)候,就需要設(shè)定當(dāng)前待處理的頁(yè)面區(qū)域的可見狀態(tài)為可見。例如,就是在對(duì)下拉菜單進(jìn)行編輯或者修改的時(shí)候,就需要控制該下拉菜單處于可見狀態(tài),從而使得編輯人員可以實(shí)時(shí)看到編輯的效果。即,在需要對(duì)某個(gè)頁(yè)面區(qū)域進(jìn)行處理時(shí),就對(duì)該待處理的頁(yè)面區(qū)域進(jìn)行定格。
[0045]上述的對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的處理可以是對(duì)當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行編輯和/或測(cè)試。
[0046]優(yōu)選地,在JavaScript代碼中,每段JavaScript代碼都會(huì)對(duì)應(yīng)一個(gè)script標(biāo)簽,該script標(biāo)簽用于定義客戶端腳本,例如=JavaScript的type屬性用于標(biāo)識(shí)〈script〉和〈/script〉之間的內(nèi)容類型,其中,text/plain標(biāo)識(shí)為文本,text/javascript標(biāo)識(shí)為JavaScript代碼。瀏覽器會(huì)根據(jù)每段JavaScript代碼的該屬性對(duì)該段JavaScript進(jìn)行相應(yīng)的處理,具體的處理方式可以是:標(biāo)簽類型為text/javascript就執(zhí)行,標(biāo)簽類型為text/plain時(shí),就不執(zhí)行。因此,可以根據(jù)代碼的標(biāo)簽類型判斷是否執(zhí)行該段代碼以實(shí)現(xiàn)對(duì)這段代碼所對(duì)應(yīng)的頁(yè)面區(qū)域的可見狀態(tài)的控制。
[0047]實(shí)施例2
[0048]在圖1-圖3所示的網(wǎng)頁(yè)處理系統(tǒng)和裝置的基礎(chǔ)上,本申請(qǐng)?zhí)峁┝艘环N優(yōu)選的網(wǎng)頁(yè)處理方法。如圖4所示,該方法可以包括如下步驟:
[0049]步驟S402:確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,js代碼用于對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的可見狀態(tài)進(jìn)行的控制;
[0050]例如,當(dāng)用戶希望對(duì)當(dāng)前編輯的網(wǎng)頁(yè)中的某個(gè)下拉菜單進(jìn)行編輯時(shí),考慮到下拉菜單的特性是鼠標(biāo)移到一定位置或者區(qū)域時(shí)下拉菜單才會(huì)可見,當(dāng)鼠標(biāo)離開該特定區(qū)域時(shí),下拉菜單就會(huì)處于不可見狀態(tài),這樣在對(duì)其進(jìn)行編輯的時(shí)候就無法實(shí)時(shí)看到編輯的效果。因此,通過對(duì)該下拉菜單所對(duì)應(yīng)的用于對(duì)其進(jìn)行可見控制的js代碼的控制來達(dá)到對(duì)其可見和不可見的控制。優(yōu)選的,可以先判斷該下拉菜單對(duì)應(yīng)的html代碼中是否有一段用于對(duì)該待處理頁(yè)面區(qū)域可見狀態(tài)進(jìn)行控制的js代碼,只有html代碼中存在js代碼才可以采用以下方式對(duì)該待處理的頁(yè)面區(qū)域進(jìn)行控制。
[0051]步驟S404:如果包含js代碼,則將js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋停渲?,第二類型用于指示停止?zhí)行js代碼;
[0052]當(dāng)判斷出存在對(duì)該待處理頁(yè)面區(qū)域可見狀態(tài)進(jìn)行控制的js代碼時(shí),就將這段js代碼的狀態(tài)由執(zhí)行狀態(tài)修改為非執(zhí)行狀態(tài),這樣這段js對(duì)待處理的頁(yè)面區(qū)域的控制作用也就消失了,即使鼠標(biāo)離開特定的區(qū)域,下拉菜單也不會(huì)不可見。優(yōu)選的,每段js代碼都對(duì)應(yīng)著一個(gè)屬性標(biāo)識(shí),這個(gè)屬性標(biāo)識(shí)可以標(biāo)識(shí)出該段js代碼是文本還是代碼,如果標(biāo)識(shí)為文本,則這段代碼不被執(zhí)行,如果標(biāo)識(shí)為js代碼則這段代碼將被執(zhí)行。因此,考慮到網(wǎng)頁(yè)菜單是依據(jù)js代碼實(shí)現(xiàn)的可見和不可見的控制,只需要在下拉菜單處于可見狀態(tài)的時(shí)候,將這段對(duì)其進(jìn)行控制的js代碼由代碼狀態(tài)更改為文本狀態(tài),這樣這段js代碼的控制作用也就消失了,相應(yīng)的下拉菜單也就會(huì)一直處于可見狀態(tài),使得編輯人員可以實(shí)時(shí)看到編輯的效果。上述可見和不可見的狀態(tài)可以是指該頁(yè)面區(qū)域是否處于人眼可以看到的狀態(tài)。作為一種優(yōu)選的方式,可以按照以下方式實(shí)現(xiàn)可見和不可見的狀態(tài):對(duì)待處理頁(yè)面區(qū)域進(jìn)行顯示或者隱藏,或者,對(duì)需要設(shè)定為不可見的待處理頁(yè)面區(qū)域進(jìn)行遮擋等等。
[0053]步驟S406:在完成對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將js代碼的標(biāo)簽類型從第二類型改變?yōu)榈谝活愋?,其中,第一類型用于指示?zhí)行js代碼。
[0054]在完成對(duì)下拉菜單的編輯之后,可以將其對(duì)應(yīng)的標(biāo)簽類型再更改為js代碼狀態(tài),從而恢復(fù)js代碼對(duì)下拉菜單的顯示狀態(tài)的控制作用。
[0055]在上述優(yōu)選實(shí)施方式中,通過對(duì)待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中的js代碼的標(biāo)簽類型的控制,以在特定時(shí)間點(diǎn)時(shí)取消該段js代碼對(duì)待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行控制,從而解決了現(xiàn)有技術(shù)中通過取消事件或者組件方式對(duì)待處理頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行控制而導(dǎo)致的對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率較低的技術(shù)問題,達(dá)到了提高網(wǎng)頁(yè)編輯或測(cè)試的效率的效果,同時(shí),在本優(yōu)選實(shí)施方式中,不需要關(guān)心頁(yè)面的實(shí)現(xiàn)方式,只要確定某待處理頁(yè)面區(qū)域內(nèi)含有JavaScript代碼即可,適用范圍更廣。
[0056]對(duì)于上述的對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)的控制就是對(duì)待處理的頁(yè)面區(qū)域的可見或者不可見的控制,即在特定的時(shí)間點(diǎn)控制待處理的頁(yè)面區(qū)域是不可見還是可見。
[0057]在一個(gè)優(yōu)選實(shí)施方式中,如圖5所示,將js代碼的標(biāo)簽類型從第二類型改變?yōu)榈谝活愋偷牟襟E包括:
[0058]步驟S502:通過網(wǎng)頁(yè)上設(shè)置的接口控件接收用于請(qǐng)求執(zhí)行js代碼的請(qǐng)求指令;
[0059]步驟S504:響應(yīng)于該請(qǐng)求指令將js代碼的標(biāo)簽類型從第二類型改變?yōu)榈谝活愋?。即,在特定觸點(diǎn)下再執(zhí)行原有的JavaScript代碼,以保持原有的動(dòng)畫效果。
[0060]上述的接口控件可以是在將js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋偷倪^程中在當(dāng)前網(wǎng)頁(yè)上設(shè)置的,例如,該控件可以就是頁(yè)面上的一個(gè)按鈕,只要用戶點(diǎn)擊該按鈕就可以觸發(fā)對(duì)js代碼的標(biāo)簽類型的更改。
[0061]在上述各個(gè)優(yōu)選實(shí)施方式中,在對(duì)當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行處理的時(shí)候,就需要設(shè)定當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)為可見。例如,就是在對(duì)下拉菜單進(jìn)行編輯或者修改的時(shí)候,就需要控制該下拉菜單處于可見狀態(tài),從而使得編輯人員可以實(shí)時(shí)看到編輯的效果。即,在需要對(duì)某個(gè)頁(yè)面區(qū)域進(jìn)行處理時(shí),就對(duì)該待處理的頁(yè)面區(qū)域進(jìn)行定格。
[0062]在一個(gè)優(yōu)選實(shí)施方式中,對(duì)當(dāng)前待處理的頁(yè)面區(qū)域的處理的步驟包括:對(duì)當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行編輯和/或測(cè)試。
[0063]優(yōu)選地,在JavaScript代碼中,每段JavaScript代碼都會(huì)對(duì)應(yīng)一個(gè)script標(biāo)簽,該script標(biāo)簽用于定義客戶端腳本,例如=JavaScript的type屬性用于標(biāo)識(shí)〈script〉和〈/script〉之間的內(nèi)容類型,其中,text/plain標(biāo)識(shí)為文本,text/javascript標(biāo)識(shí)為JavaScript代碼。瀏覽器會(huì)根據(jù)每段JavaScript代碼的該屬性對(duì)該段JavaScript進(jìn)行相應(yīng)的處理,具體的處理方式可以是:標(biāo)簽類型為text/plain就執(zhí)行,標(biāo)簽類型為text/plain時(shí),就不執(zhí)行。因此,可以根據(jù)代碼的標(biāo)簽類型判斷是否執(zhí)行該段代碼以實(shí)現(xiàn)對(duì)這段代碼所對(duì)應(yīng)的頁(yè)面區(qū)域的顯示狀態(tài)的控制。
[0064]在本實(shí)施例中,還提供了一種具體的網(wǎng)頁(yè)處理方法,如圖6所示,包括以下步驟:
[0065]S602:選定需要定格的頁(yè)面區(qū)域,即,將待處理的且又不希望該區(qū)域不可見的頁(yè)面區(qū)域作為需要定格的頁(yè)面區(qū)域;[0066]S604:判斷該頁(yè)面區(qū)域所對(duì)應(yīng)的代碼中是否包含JavaScript代碼,如果有,則執(zhí)行S606,否則,結(jié)束該流程。
[0067]S606:提取該區(qū)域的代碼內(nèi)容中的JavaScript代碼,并將該段代碼對(duì)應(yīng)的script標(biāo)簽的type屬性設(shè)置為“text/plain” ;
[0068]S608:將修改完標(biāo)簽類型的代碼放回原處,優(yōu)選地,與此同時(shí),顯示使js代碼生效的觸點(diǎn),例如,可以設(shè)置一個(gè)按鈕控件,只需要點(diǎn)擊該按鈕就可以觸發(fā)按照正常方式執(zhí)行該段代碼。
[0069]S610:當(dāng)觸發(fā)使js代碼生效的觸點(diǎn)時(shí),將該js代碼的標(biāo)簽類型還原為“text/javascript”,即恢復(fù)該段js代碼對(duì)頁(yè)面區(qū)域的顯示狀態(tài)的控制。
[0070]在上述優(yōu)選實(shí)施方式中,不需要關(guān)心任何頁(yè)面的實(shí)現(xiàn)方式,只要確定某個(gè)頁(yè)面區(qū)域含有JavaScript代碼即可。僅需要提取JavaScript動(dòng)畫效果中的某一特定情況的HTML(Hypertext Markup Language,超文件標(biāo)記語言)代碼,就如同在某一時(shí)刻給該頁(yè)面區(qū)域拍下快照,使其定格在這一時(shí)間。然后,在特定時(shí)間點(diǎn)再執(zhí)行其原有的JavaScript代碼,使其保持原有的動(dòng)畫效果。
[0071]通過以上的描述可知,本申請(qǐng)具有以下優(yōu)勢(shì):通過對(duì)待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中的js代碼的標(biāo)簽類型的控制,以在特定時(shí)間點(diǎn)時(shí)取消該段js代碼對(duì)待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行控制,從而解決了現(xiàn)有技術(shù)中通過取消事件或者組件方式對(duì)待處理頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行控制而導(dǎo)致的對(duì)網(wǎng)頁(yè)進(jìn)行編輯或者測(cè)試的效率較低的技術(shù)問題,達(dá)到了提高網(wǎng)頁(yè)編輯或者測(cè)試的效率的效果,同時(shí),在本優(yōu)選實(shí)施方式中,不需要關(guān)心頁(yè)面的實(shí)現(xiàn)方式,只要確定某待處理頁(yè)面區(qū)域內(nèi)含有JavaScript代碼即可,適用范圍更廣。
[0072]顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本申請(qǐng)的各模塊或各步驟可以用通用的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本申請(qǐng)不限制于任何特定的硬件和軟件結(jié)合。
[0073]以上所述僅為本申請(qǐng)的優(yōu)選實(shí)施例而已,并不用于限制本申請(qǐng),對(duì)于本領(lǐng)域的技術(shù)人員來說,本申請(qǐng)可以有各種更改和變化。凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種網(wǎng)頁(yè)處理方法,其特征在于,包括: 確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,所述js代碼用于對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行的控制; 如果包含所述js代碼,則將所述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋?,其中,所述第二類型用于指示停止?zhí)行所述js代碼; 在完成對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將所述js代碼的標(biāo)簽類型從所述第二類型改變?yōu)樗龅谝活愋停渲?,所述第一類型用于指示?zhí)行所述js代碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述js代碼對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)所進(jìn)行的控制包括:控制所述當(dāng)前待處理的頁(yè)面區(qū)域可見或不可見。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將所述js代碼的標(biāo)簽類型從所述第二類型改變?yōu)樗龅谝活愋偷牟襟E包括: 通過所述網(wǎng)頁(yè)上設(shè)置的接口控件接收用于請(qǐng)求執(zhí)行所述js代碼的請(qǐng)求指令; 響應(yīng)于所述請(qǐng)求指令將所述js代碼的標(biāo)簽類型從所述第二類型改變?yōu)樗龅谝活愋汀?br>
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在將所述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋蜁r(shí),還包括: 在所述網(wǎng)頁(yè)上設(shè)置所述接口控件。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,在對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的處理的過程中,所述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)為可見。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的處理的步驟包括:對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域進(jìn)行編輯和/或測(cè)試。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,所述第一類型為text/javascript,所述第二類型為 text/plain。
8.一種網(wǎng)頁(yè)處理裝置,其特征在于,包括: 確定單元,用于確定網(wǎng)頁(yè)中當(dāng)前待處理的頁(yè)面區(qū)域?qū)?yīng)的html代碼中是否包含js代碼,其中,所述js代碼用于對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的顯示狀態(tài)進(jìn)行的控制; 修改單元,用于當(dāng)確定包含所述js代碼時(shí),將所述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋?,其中,所述第二類型用于指示停止?zhí)行所述js代碼; 還原單元,用于在完成對(duì)所述當(dāng)前待處理的頁(yè)面區(qū)域的處理之后,將所述js代碼的標(biāo)簽類型從所述第二類型改變?yōu)樗龅谝活愋?,其中,所述第一類型用于指示?zhí)行所述js代碼。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述還原單元包括: 接收模塊,用于通過所述網(wǎng)頁(yè)上設(shè)置的接口控件接收用于請(qǐng)求執(zhí)行所述js代碼的請(qǐng)求指令; 還原模塊,用于響應(yīng)于所述請(qǐng)求指令將所述js代碼的標(biāo)簽類型從所述第二類型改變?yōu)樗龅谝活愋汀?br>
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,還包括: 設(shè)置單元,用于在將所述js代碼的標(biāo)簽類型從第一類型改變?yōu)榈诙愋蜁r(shí),在所述網(wǎng)頁(yè)上設(shè)置所述接口控件。
【文檔編號(hào)】G06F17/30GK103777935SQ201210410693
【公開日】2014年5月7日 申請(qǐng)日期:2012年10月24日 優(yōu)先權(quán)日:2012年10月24日
【發(fā)明者】洪珊珊 申請(qǐng)人:阿里巴巴集團(tuán)控股有限公司