一種表單處理的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)信息技術(shù)領(lǐng)域,尤其涉及一種表單處理的方法及裝置。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的日益發(fā)展,移動終端上的網(wǎng)頁越來越豐富。當(dāng)用戶在移動終端上通過瀏覽器查看網(wǎng)頁時(shí),希望將瀏覽的每一個(gè)網(wǎng)頁都記住,當(dāng)用戶需要查看之前瀏覽的網(wǎng)頁時(shí),可以通過后退鍵就可以退回到剛才瀏覽的網(wǎng)頁,這樣瀏覽器不僅滿足用戶的瀏覽習(xí)慣,也可以記錄用戶在當(dāng)前網(wǎng)頁填寫的內(nèi)容。
[0003]然而,由于基于微軟IE移動版的瀏覽器控件,在提交用戶填寫的表單時(shí),會將表單提交后的網(wǎng)頁替換掉當(dāng)前的網(wǎng)頁,這樣瀏覽記錄中缺失用戶填寫表單的網(wǎng)頁,導(dǎo)致瀏覽歷史堆棧不連續(xù)。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的實(shí)施例提供一種表單處理的方法及裝置,可以解決現(xiàn)有技術(shù)中瀏覽器控件不支持瀏覽歷史完整性的問題。
[0005]第一方面,本發(fā)明實(shí)施例提供一種表單處理的方法,包括:
[0006]在含有表單標(biāo)簽的當(dāng)前網(wǎng)頁源代碼中添加第一代碼,所述第一代碼用于對事件進(jìn)行監(jiān)聽;
[0007]當(dāng)接收到提交表單的請求后,通過所述第一代碼獲取所述表單的內(nèi)容;
[0008]將所述表單的內(nèi)容通過新的瀏覽器控件發(fā)送提交表單的請求,并將當(dāng)前表單提交的頁面保存。
[0009]第二方面,本發(fā)明實(shí)施例提供一種表單處理的裝置,包括:
[0010]添加單元,用于在含有表單標(biāo)簽的當(dāng)前網(wǎng)頁源代碼中添加第一代碼,所述第一代碼用于對事件進(jìn)行監(jiān)聽;
[0011]獲取單元,用于當(dāng)接收到提交表單的請求后,通過所述第一代碼獲取所述表單的內(nèi)容;
[0012]發(fā)送單元,用于將所述表單的內(nèi)容通過新的瀏覽器控件發(fā)送提交表單的請求;
[0013]保存單元,用于將當(dāng)前表單提交的頁面保存。
[0014]本發(fā)明實(shí)施例提供一種表單處理的方法及裝置,通過在含有表單標(biāo)簽的當(dāng)前網(wǎng)頁源代碼中添加第一代碼,所述第一代碼用于對事件進(jìn)行監(jiān)聽;當(dāng)接收到提交表單的請求后,通過所述第一代碼獲取所述表單的內(nèi)容;將所述表單的內(nèi)容通過新的瀏覽器控件發(fā)送提交表單的請求,并將當(dāng)前表單提交的頁面保存。與現(xiàn)有技術(shù)中在提交用戶填寫的表單時(shí),會將表單提交后的網(wǎng)頁替換掉當(dāng)前的網(wǎng)頁,這樣瀏覽記錄中缺失用戶填寫表單的網(wǎng)頁,導(dǎo)致瀏覽歷史堆棧不連續(xù)相比,本發(fā)明實(shí)施例可以獲得完整的瀏覽歷史,從而解決現(xiàn)有技術(shù)的問題。
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明實(shí)施例提供的一種表單處理的方法的流程圖;
[0017]圖2為本發(fā)明實(shí)施例提供的另一種表單處理的方法的流程圖;
[0018]圖3為本發(fā)明實(shí)施例提供的獲取表單的內(nèi)容的流程圖;
[0019]圖4為本發(fā)明實(shí)施例提供的一種表單處理的裝置的示意圖;
[0020]圖5為本發(fā)明實(shí)施例提供的另一種表單處理的裝置的示意圖;
[0021]圖6為本發(fā)明實(shí)施例提供的獲取模塊的示意圖。
【具體實(shí)施方式】
[0022]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]本發(fā)明實(shí)施例提供一種表單處理的方法,該方法的執(zhí)行主體可以為移動終端,如圖1所示,該方法包括:
[0024]步驟101,在含有表單標(biāo)簽的當(dāng)前網(wǎng)頁源代碼中添加第一代碼,所述第一代碼用于對事件進(jìn)行監(jiān)聽。
[0025]可選的,用戶通過網(wǎng)頁填寫form表單的內(nèi)容,實(shí)現(xiàn)網(wǎng)頁與WEB服務(wù)器交互。首先獲取當(dāng)前網(wǎng)頁內(nèi)容,然后獲取當(dāng)前網(wǎng)頁的源代碼,可選的,通過爬蟲程序獲得當(dāng)前網(wǎng)頁的源代碼。當(dāng)當(dāng)前網(wǎng)頁的源代碼中包括表單標(biāo)簽時(shí),在當(dāng)前源代碼中添加第一代碼,具體添加的第一代碼的位置不限制。第一代碼可以為javaScrip代碼,其中,javaScrip代碼可以簡寫為JS代碼。
[0026]步驟102,當(dāng)接收到提交表單的請求后,通過所述第一代碼獲取所述表單的內(nèi)容。
[0027]當(dāng)接收到用戶提交表單的請求后,采用第一代碼的監(jiān)聽功能,獲取表單的內(nèi)容,可選的,通過第一代碼的處理函數(shù)獲取表單的內(nèi)容。
[0028]可以理解的,當(dāng)未接收到用戶發(fā)送的提交表單的請求時(shí),則不執(zhí)行獲取表單的內(nèi)容的操作。
[0029]可選的,表單的內(nèi)容即用戶填寫的注冊網(wǎng)站的內(nèi)容、登陸網(wǎng)站的內(nèi)容等等。
[0030]步驟103,將所述表單的內(nèi)容通過新的瀏覽器控件發(fā)送提交表單的請求,并將當(dāng)前表單提交的頁面保存。
[0031]可選的,截獲用戶提交的表單的內(nèi)容后,通過創(chuàng)建新的瀏覽器控件重新發(fā)起提交表單的請求,并將當(dāng)前表單提交的頁面保存從而按照現(xiàn)有技術(shù)重新提交表單,此時(shí)由于已經(jīng)截獲當(dāng)前表單提交的頁面,并且偽造發(fā)送,使得可以解決現(xiàn)有技術(shù)中瀏覽器控件不支持瀏覽歷史完整性的問題。
[0032]瀏覽器控件用于控制網(wǎng)頁的展現(xiàn)。
[0033]本發(fā)明實(shí)施例提供一種表單處理的方法,通過在含有表單標(biāo)簽的當(dāng)前網(wǎng)頁源代碼中添加第一代碼,所述第一代碼用于對事件進(jìn)行監(jiān)聽;當(dāng)接收到提交表單的請求后,通過所述第一代碼獲取所述表單的內(nèi)容;將所述表單的內(nèi)容通過新的瀏覽器控件發(fā)送提交表單的請求,并將當(dāng)前表單提交的頁面保存,使得可以獲得完整的瀏覽歷史。
[0034]本發(fā)明實(shí)施例提供一種表單處理的方法,如圖2所示,該方法包括:
[0035]步驟201,掃描當(dāng)前網(wǎng)頁,獲取當(dāng)前網(wǎng)頁源代碼。
[0036]可選的,通過爬蟲程序獲得當(dāng)前網(wǎng)頁的源代碼。
[0037]步驟202,判斷所述當(dāng)前網(wǎng)頁源代碼中是否含有表單標(biāo)簽。
[0038]可選的,表單標(biāo)簽可以為〈form>〈/form>。
[0039]當(dāng)當(dāng)前網(wǎng)頁源代碼中含有表單標(biāo)簽時(shí),執(zhí)行步驟203,當(dāng)當(dāng)前網(wǎng)頁源代碼中未含有表單標(biāo)簽時(shí),則結(jié)束流程。
[0040]步驟203,當(dāng)所述當(dāng)前網(wǎng)頁源代碼中含有表單標(biāo)簽時(shí),在當(dāng)前網(wǎng)頁源代碼中添加第一代碼。
[0041]可選的,第一代碼用于對事件進(jìn)行監(jiān)聽,例如,通過第一代碼中的處理函數(shù)進(jìn)行監(jiān)聽。第一代碼可以為JS代碼??蛇x的,JS代碼包括事件處理函數(shù)。
[0042]步驟204,監(jiān)聽是否存在提交表單的請求。
[0043]可選的,本實(shí)施例中當(dāng)用戶提交表單時(shí),才執(zhí)行后續(xù)的操作,因此根據(jù)第一代碼中的事件處理函數(shù)監(jiān)聽是否存在提交表單的請求。
[0044]步驟205,當(dāng)接收到提交表單的請求后,通過所述第一代碼中處理函數(shù)獲取所述表單的內(nèi)容。
[0045]可選的,如圖3所示,本步驟包括以下子步驟:
[0046]步驟2051,當(dāng)接收到提交表單的請求后,判斷所述請求中包括的表單是否為合法表單。
[0047]可選的,當(dāng)表單為合法表單時(shí),執(zhí)行步驟2052,當(dāng)表單不是合法表單時(shí),結(jié)束本流程。合法表單可以為賬戶與密碼匹配的表單,例如可以正常登陸的表單,或者注冊表單中各個(gè)選項(xiàng)符合注冊標(biāo)準(zhǔn)的表單等。
[0048]步驟2052,當(dāng)所述表單為合法表單時(shí),遍歷表單內(nèi)的標(biāo)簽。
[0049]可選的,本步驟為遍歷表單內(nèi)的所有的標(biāo)簽,并依次對表單中包括的各個(gè)標(biāo)簽進(jìn)行處理??蛇x的,首次執(zhí)行時(shí),則獲取表單內(nèi)的第一個(gè)標(biāo)簽,當(dāng)?shù)谝粯?biāo)簽處理完成之后,獲取表單內(nèi)的下一個(gè)標(biāo)簽,執(zhí)行表單內(nèi)的所有標(biāo)簽遍歷完成。
[0050]步驟2053,判斷所述表單中的標(biāo)簽是否為成功控件。
[0051]可選的,成功控件是指每個(gè)表單中的標(biāo)簽為input標(biāo)簽,并且input標(biāo)簽為非禁用標(biāo)簽,當(dāng)標(biāo)簽為checkbox和rad1標(biāo)簽時(shí),則必須checked==true,并且file必須有文件路徑等。
[0052]步驟2054,當(dāng)所述表單中的標(biāo)簽為成功控件時(shí),獲取所述表單中name標(biāo)簽以及value標(biāo)簽的內(nèi)容。
[0053]可選的,執(zhí)行完成本步驟之后,執(zhí)行步驟2055,即判斷是否遍歷完成所述表單中的所有標(biāo)簽。
[0054]步驟2055,當(dāng)所述表單中的標(biāo)簽不是成功控件時(shí),判斷是否遍歷完成所述表單中的所有標(biāo)簽。
[0055]可選的,當(dāng)遍歷完成所述表單中的所有標(biāo)簽時(shí),執(zhí)行步驟2056,當(dāng)未遍歷完成所述表單中的所有標(biāo)簽時(shí),返回執(zhí)行步驟2052。
[0056]步驟2056,當(dāng)遍歷完成所述表單內(nèi)的所有標(biāo)簽時(shí),對所述表單中name標(biāo)簽以及value標(biāo)簽的內(nèi)容對不同的編碼處理。
[0057]可選的,根據(jù)不同的編碼類型以及W3C規(guī)則對所述表單中name標(biāo)簽以及value標(biāo)簽的內(nèi)容對不同的編碼處理??蛇x的,W3C規(guī)則為現(xiàn)有技術(shù),在本發(fā)明中不進(jìn)行詳細(xì)描述。
[0058]步驟2057,將進(jìn)行編碼處理后的name標(biāo)簽以及