一種頁面排版方法及裝置制造方法
【專利摘要】本發(fā)明涉及一種頁面排版方法及裝置。其中所述排版方法包括根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度;判斷實際排版寬度減去指定排版寬度是否大于給定閾值,如果實際排版寬度減去指定排版寬度大于給定閾值,執(zhí)行下一步驟;對指定排版寬度進(jìn)行修正,并根據(jù)修正后的指定排版寬度重新排版。本發(fā)明實施例的頁面排版方法及裝置通過在排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,以修正由于指定排版寬度大于頁面實際寬度造成的頁面右邊的空白,以達(dá)到最好的適配效果,改善用戶的使用體驗。
【專利說明】一種頁面排版方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,特別是涉及一種頁面排版方法及裝置。
【背景技術(shù)】
[0002]目前,頁面排版方法主要包括動態(tài)排版寬度方法和靜態(tài)排版寬度方法,動態(tài)排版是指在頁面大小發(fā)生變化(如縮放)時,頁面會進(jìn)行重新排版;靜態(tài)排版是指在頁面加載時,頁面按照一個指定的排版寬度進(jìn)行排版;而無論是動態(tài)排版寬度方法還是靜態(tài)排版寬度方法,對于由viewport (視覺窗口)指定排版寬度的頁面,則按照指定寬度進(jìn)行排版;對于沒有viewport的頁面,通過識別頁面類型來指定排版寬度,例如www頁面,在android系統(tǒng)瀏覽器中指定排版寬度為800px,wap頁面為240px或者320px。
[0003]現(xiàn)有的兩種排版方法在沒有指定viewport的頁面(主要是wap頁面)中存在以下問題:不能夠很好的適配頁面,導(dǎo)致顯示時頁面要么太大,要么太小,影響使用;另外,在識別頁面類型時,因為解析器的原因,導(dǎo)致本來是wap頁面,結(jié)果識別為www,最終顯示出來的頁面就會很小。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于,提供一種頁面排版方法及裝置,以解決現(xiàn)有的頁面排版方法不能很好適配沒有指定視覺窗口的頁面的問題。
[0005]本發(fā)明的目的及解決其技術(shù)問題是采用以下技術(shù)方案來實現(xiàn)的。
[0006]本發(fā)明提供頁面排版方法,其包括:
根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度;
判斷實際排版寬度減去指定排版寬度是否大于給定閾值,如果實際排版寬度減去指定排版寬度大于給定閾值,執(zhí)行下一步驟;
對指定排版寬度進(jìn)行修正,并根據(jù)修正后的指定排版寬度重新排版。
[0007]本發(fā)明還提供一種頁面排版裝置,其包括頁面排版模塊、寬度判斷模塊和寬度修正模塊,
所述頁面排版模塊用于根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度;
所述寬度判斷模塊用于判斷實際排版寬度減去指定排版寬度是否大于給定閾值,如果實際排版寬度減去指定排版寬度大于給定閾值,通過寬度修正模塊修正指定排版寬度;所述寬度修正模塊用于對指定排版寬度進(jìn)行修正,并通過頁面排版模塊根據(jù)修正后的指定排版寬度重新進(jìn)行排版。
[0008]本發(fā)明的技術(shù)方案具有如下優(yōu)點或有益效果:本發(fā)明實施例的頁面排版方法及裝置通過在排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,以修正由于指定排版寬度大于頁面實際寬度造成的頁面右邊的空白,以達(dá)到最好的適配效果,改善用戶的使用體驗。
[0009]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其他目的、特征和優(yōu)點能夠更明顯易懂,以下特舉較佳實施例,并配合附圖,詳細(xì)說明如下。
【專利附圖】
【附圖說明】
[0010]圖1為本發(fā)明第一實施例的頁面排版方法的流程示意圖;
圖2為本發(fā)明第二實施例的頁面排版方法的流程示意圖;
圖3為本發(fā)明第一實施例的頁面排版裝置的結(jié)構(gòu)示意圖;
圖4為本發(fā)明第二實施例的頁面排版裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0011]為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明提出的用戶原創(chuàng)內(nèi)容的推薦方法及推薦裝置其【具體實施方式】、方法、步驟、結(jié)構(gòu)、特征及其功效,詳細(xì)說明如下。
[0012]有關(guān)本發(fā)明的前述及其他技術(shù)內(nèi)容、特點及功效,在以下配合參考圖式的較佳實施例的詳細(xì)說明中將可清楚呈現(xiàn)。通過【具體實施方式】的說明,當(dāng)可對本發(fā)明為達(dá)成預(yù)定目的所采取的技術(shù)手段及功效得以更加深入且具體的了解,然而所附圖式僅是提供參考與說明之用,并非用來對本發(fā)明加以限制。
[0013]圖1為本發(fā)明第一實施例的頁面排版方法的流程示意圖。如圖1所示,本發(fā)明第一實施例的頁面排版方法包括:
步驟100:根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度;
在步驟100中,根據(jù)網(wǎng)頁類型指定第一次排版寬度,網(wǎng)頁類型包括wapl.0、wap2.0>www或unknown等類型,在本發(fā)明實施例中,wapl.0網(wǎng)頁指定第一次排版寬度為240px (像素),wap2.0指定第一次排版寬度為320px, www和unknown網(wǎng)頁指定第一次排版寬度為800px,具體可根據(jù)不同情況進(jìn)行設(shè)置。
[0014]步驟110:判斷實際排版寬度減去指定排版寬度是否大于給定閾值,如果實際排版寬度減去指定排版寬度大于給定閾值,執(zhí)行步驟120 ;
在步驟110中,給定閾值是指頁面右邊空白處的寬度值;通常,在沒有viewport的頁面排版時,例如wap頁面,當(dāng)指定的排版寬度大于頁面的實際寬度時,排版后的頁面右邊會有不少空白,影響適配效果;更重要的是,這種情況下,指定的排版寬度實際上在排版中并沒有起作用,只是在顯示的時候,計算了縮放比例。本發(fā)明以此為出發(fā)點,在靜態(tài)排版寬度的排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,修正頁面右邊的空白寬度,以達(dá)到最好的適配效果。
[0015]步驟120:對指定排版寬度進(jìn)行修正,并重新執(zhí)行步驟100。
[0016]在步驟120中,可在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)將指定排版寬度修正為與實際排版寬度較為接近的寬度,并根據(jù)修正后的指定排版寬度重新排版,直到實際排版寬度與指定排版寬度的寬度差不大于給定閥值,為了達(dá)到最佳適配效果,在本發(fā)明實施例中,將指定排版寬度修正為與實際排版寬度相同。
[0017]圖2為本發(fā)明第二實施例的頁面排版方法的流程示意圖。如圖2所示,本發(fā)明第ニ實施例的頁面排版方法包括: 步驟200:設(shè)置修正變量的初始值;
在步驟200中,修正變量的初始值可根據(jù)需求進(jìn)行設(shè)置,本發(fā)明實施例中,將修正變量的初始值M設(shè)置為false,在修正指定排版寬度時可將修正變量的初始值修改為與初始值對應(yīng)的其他值。
[0018]步驟210:加載排版頁面,并判斷頁面是否有viewport (視覺窗口),如果頁面有viewport,執(zhí)行步驟220 ;如果頁面沒有viewport,執(zhí)行步驟230 ;
步驟220:根據(jù)指定排版寬度進(jìn)行排版,得到實際排版寬度,并執(zhí)行步驟270 ;
步驟230:識別頁面的網(wǎng)頁類型,并根據(jù)網(wǎng)頁類型指定第一次排版寬度;
在步驟230中,網(wǎng)頁類型包括wapl.0、wap2.0、www或unknown等類型,在本發(fā)明實施例中,wapl.0網(wǎng)頁指定第一次排版寬度為240px (像素),wap2.0指定第一次排版寬度為320px, www和unknown網(wǎng)頁指定第一次排版寬度為800px,具體可根據(jù)不同情況進(jìn)行設(shè)置。
[0019]步驟240:根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度;
步驟250:判斷實際排版寬度減去指定排版寬度是否大于給定閾值,且修正變量為初始值,如果實際排版寬度減去指定排版寬度大于給定閾值,且修正變量為初始值,執(zhí)行步驟260 ;如果實際排版寬度減去指定排版寬度不大于給定閾值,且修正變量不是初始值,執(zhí)行步驟270 ;
在步驟250中,給定閾值是指頁面右邊空白處的寬度值;通常,在沒有viewport的頁面排版時,例如wap頁面,當(dāng)指定的排版寬度大于頁面的實際寬度時,排版后的頁面右邊會有不少空白,影響適配效果;更重要的是,這種情況下,指定的排版寬度實際上在排版中并沒有起作用,只是在顯示的時候,計算了縮放比例。本發(fā)明以此為出發(fā)點,在靜態(tài)排版寬度的排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,修正頁面右邊的空白寬度,以達(dá)到最好的適配效果。
[0020]步驟260:在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)反向修正指定排版寬度,修改修正變量的初始值,并重新執(zhí)行步驟240 ;
在步驟260中,可在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)將指定排版寬度修正為與實際排版寬度較為接近的寬度,并根據(jù)修正后的指定排版寬度重新排版,直到實際排版寬度與指定排版寬度的寬度差不大于給定閥值,為了達(dá)到最佳適配效果,在本發(fā)明實施例中,將指定排版寬度修正為與實際排版寬度相同;修正變量的初始值可修改為與初始值相對應(yīng)的值,在本發(fā)明實施例中,修正變量的初始值修改為M=true。
[0021]步驟270:結(jié)束本次排版。
[0022]圖3為本發(fā)明第一實施例的頁面排版裝置的結(jié)構(gòu)示意圖。如圖3所示,本發(fā)明第一實施例的頁面排版裝置包括頁面排版模塊30、寬度判斷模塊50和寬度修正模塊60,其中,
頁面排版模塊30用于根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度;其中,根據(jù)網(wǎng)頁類型指定第一次排版寬度,網(wǎng)頁類型包括wapl.0、wap2.0、www或unknown等類型,在本發(fā)明實施例中,wapl.0網(wǎng)頁指定第一次排版寬度為240px (像素),wap2.0指定第一次排版寬度為320px, www和unknown網(wǎng)頁指定第一次排版寬度為800px,具體可根據(jù)不同情況進(jìn)行設(shè)置。
[0023]寬度判斷模塊50用于判斷實際排版寬度減去指定排版寬度是否大于給定閾值,如果實際排版寬度減去指定排版寬度大于給定閾值,通過寬度修正模塊60修正指定排版寬度;其中,給定閾值是指頁面右邊空白處的寬度值;通常,在沒有viewport的頁面排版時,例如wap頁面,當(dāng)指定的排版寬度大于頁面的實際寬度時,排版后的頁面右邊會有不少空白,影響適配效果;更重要的是,這種情況下,指定的排版寬度實際上在排版中并沒有起作用,只是在顯示的時候,計算了縮放比例。本發(fā)明以此為出發(fā)點,在靜態(tài)排版寬度的排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,修正頁面右邊的空白寬度,以達(dá)到最好的適配效果。
[0024]寬度修正模塊60用于對指定排版寬度進(jìn)行修正,并通過頁面排版模塊30根據(jù)修正后的指定排版寬度重新排版;其中,可在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)將指定排版寬度修正為與實際排版寬度較為接近的寬度,并根據(jù)修正后的指定排版寬度重新排版,直到實際排版寬度與指定排版寬度的寬度差不大于給定閥值,為了達(dá)到最佳適配效果,在本發(fā)明實施例中,將指定排版寬度修正為與實際排版寬度相同。
[0025]圖4為本發(fā)明第二實施例的頁面排版裝置的結(jié)構(gòu)示意圖。如圖4所示,本發(fā)明第二實施例的頁面排版裝置包括設(shè)置模塊10、頁面判斷模塊20、頁面排版模塊30、頁面識別模塊40、寬度判斷模塊50和寬度修正模塊60,其中
設(shè)置模塊10用于設(shè)置修正變量的初始值;其中,修正變量的初始值可根據(jù)需求進(jìn)行設(shè)置,本發(fā)明實施例中,將修正變量的初始值M設(shè)置為false,在修正指定排版寬度時可將修正變量的初始值修改為與初始值對應(yīng)的其他值。
[0026]頁面判斷模塊20用于加載排版頁面,并判斷頁面是否有viewport (視覺窗口),如果頁面有viewport,通過頁面排版模塊30進(jìn)行排版并結(jié)束本次排版;如果頁面沒有viewport,通過頁面識別模塊40識別網(wǎng)頁類型;
頁面排版模塊30用于在頁面有viewport時根據(jù)指定排版寬度進(jìn)行排版,得到實際排版寬度并結(jié)束排版;并在頁面沒有viewport時根據(jù)指定的排版寬度進(jìn)行排版,得到實際排版寬度,并通過寬度判斷模塊50判斷實際排版寬度減去指定排版寬度是否大于給定閾值;頁面識別模塊40用于識別頁面的網(wǎng)頁類型,根據(jù)網(wǎng)頁類型指定第一次排版寬度,并通過頁面排版模塊30根據(jù)指定排版寬度進(jìn)行排版,得到實際排版寬度;其中,網(wǎng)頁類型包括wapl.0、wap2.0、www或unknown等類型,在本發(fā)明實施例中,wapl.0網(wǎng)頁指定第一次排版寬度為240px (像素),wap2.0指定第一次排版寬度為320px,www和unknown網(wǎng)頁指定第一次排版寬度為800px,具體可根據(jù)不同情況進(jìn)行設(shè)置。
[0027]寬度判斷模塊50用于判斷實際排版寬度減去指定排版寬度是否大于給定閾值,且修正變量為初始值,如果實際排版寬度減去指定排版寬度大于給定閾值,且修正變量為初始值,通過寬度修正模塊60修正指定排版寬度;如果實際排版寬度減去指定排版寬度不大于給定閾值,且修正變量不是初始值,結(jié)束本次排版;其中,給定閾值是指頁面右邊空白處的寬度值;通常,在沒有viewport的頁面排版時,例如wap頁面,當(dāng)指定的排版寬度大于頁面的實際寬度時,排版后的頁面右邊會有不少空白,影響適配效果;更重要的是,這種情況下,指定的排版寬度實際上在排版中并沒有起作用,只是在顯示的時候,計算了縮放比例。本發(fā)明以此為出發(fā)點,在靜態(tài)排版寬度的排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,修正頁面右邊的空白寬度,以達(dá)到最好的適配效果。
[0028]寬度修正模塊60用于在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)反向修正指定排版寬度,修改修正變量的初始值,并通過頁面排版模塊30重新進(jìn)行排版;其中,可在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)將指定排版寬度修正為與實際排版寬度較為接近的寬度,并根據(jù)修正后的指定排版寬度重新排版,直到實際排版寬度與指定排版寬度的寬度差不大于給定閥值,在本發(fā)明實施例中,將指定排版寬度修正為與實際排版寬度相同;修正變量的初始值可修改為與初始值相對應(yīng)的值,在本發(fā)明實施例中,將修正變量的初始值修改為M=true。
[0029]本發(fā)明實施例的頁面排版方法及裝置通過在排版過程中保留頁面的實際排版寬度,并根據(jù)實際排版寬度減去指定排版寬度的寬度差反向修正指定排版寬度并重排頁面,以修正由于指定排版寬度大于頁面實際寬度造成的頁面右邊的空白,以達(dá)到最好的適配效果,改善用戶的使用體驗。
[0030]以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當(dāng)可利用上述掲示的技術(shù)內(nèi)容作出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種頁面排版方法,包括: 根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度; 判斷實際排版寬度減去指定排版寬度是否大于給定閾值; 如果實際排版寬度減去指定排版寬度大于給定閾值,對指定排版寬度進(jìn)行修正,并根據(jù)修正后的指定排版寬度重新排版。
2.根據(jù)權(quán)利要求1所述的頁面排版方法,其特征在于,在所述根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度步驟前還包括:設(shè)置修正變量的初始值。
3.根據(jù)權(quán)利要求1所述的頁面排版方法,其特征在于,在所述根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度步驟前還包括:加載排版頁面,并判斷頁面是否有視覺窗口,如果頁面有視覺窗口,根據(jù)指定排版寬度進(jìn)行排版,得到實際排版寬度,并結(jié)束本次排版;如果頁面沒有視覺窗口,則識別頁面的網(wǎng)頁類型,并根據(jù)網(wǎng)頁類型指定第一次排版寬度。
4.根據(jù)權(quán)利要求2所述的頁面排版方法,其特征在于,在所述判斷實際排版寬度減去指定排版寬度是否大于給定閾值步驟中還包括:判斷修正變量是否為初始值,如果實際排版寬度減去指定排版寬度大于給定閾值,且修正變量為初始值,在所述對指定排版寬度進(jìn)行修正,并根據(jù)修正后的指定排版寬度重新排版步驟中還包括:修改修正變量的初始值。
5.根據(jù)權(quán)利要求4所述的頁面排版方法,其特征在于,在所述判斷實際排版寬度減去指定排版寬度是否大于給定閾值步驟中,如果實際排版寬度減去指定排版寬度不大于給定閾值,且修正變量不是初始值,則結(jié)束本次排版。
6.根 據(jù)權(quán)利要求1或4所述的頁面排版方法,其特征在于,所述對指定排版寬度進(jìn)行修正的修正方式為:在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)將指定排版寬度修正為與實際排版寬度較為接近的寬度,直到實際排版寬度與指定排版寬度的寬度差不大于給定閥值;其中,最佳適配效果為:將指定排版寬度修正為與實際排版寬度相同。
7.一種頁面排版裝置,包括頁面排版模塊、寬度判斷模塊和寬度修正模塊, 所述頁面排版模塊用于根據(jù)指定排版寬度進(jìn)行排版,并得到實際排版寬度; 所述寬度判斷模塊用于判斷實際排版寬度減去指定排版寬度是否大于給定閾值,如果實際排版寬度減去指定排版寬度大于給定閾值,通過寬度修正模塊修正指定排版寬度; 所述寬度修正模塊用于對指定排版寬度進(jìn)行修正,并通過頁面排版模塊根據(jù)修正后的指定排版寬度重新進(jìn)行排版。
8.根據(jù)權(quán)利要求7所述的頁面排版裝置,其特征在于,還包括設(shè)置模塊,所述設(shè)置模塊用于設(shè)置修正變量的初始值。
9.根據(jù)權(quán)利要求7所述的頁面排版裝置,其特征在于,還包括頁面判斷模塊和頁面識別模塊, 所述頁面判斷模塊用于加載排版頁面,并判斷頁面是否有視覺窗口,如果頁面有視覺窗口,通過頁面排版模塊進(jìn)行排版并結(jié)束本次排版;如果頁面沒有視覺窗口,通過頁面識別模塊識別網(wǎng)頁類型; 所述頁面識別模塊用于識別頁面的網(wǎng)頁類型,根據(jù)網(wǎng)頁類型指定第一次排版寬度,并通過頁面排版模塊根據(jù)指定排版寬度進(jìn)行排版。
10.根據(jù)權(quán)利要求8所述的頁面排版裝置,其特征在于,所述寬度判斷模塊還用于判斷修正變量是否為初始值,如果實際排版寬度減去指定排版寬度大于給定閾值,且修正變量為初始值,則通過寬度修正模塊修正指定排版寬度;如果實際排版寬度減去指定排版寬度不大于給定閾值,且修正變量不是初始值,則結(jié)束本次排版。
11.根據(jù)權(quán)利要求7或10所述的頁面排版裝置,其特征在于,所述寬度修正模塊對指定排版寬度進(jìn)行修正的修正方式包括:在實際排版寬度與指定排版寬度的寬度差范圍內(nèi)將指定排版寬度修正為與實際排版寬度較為接近的寬度,直到實際排版寬度與指定排版寬度的寬度差不大于給定閥值;其中,最佳適配效果為:將指定排版寬度修正為與實際排版寬度相同。
【文檔編號】G06F17/25GK103593331SQ201210289611
【公開日】2014年2月19日 申請日期:2012年8月15日 優(yōu)先權(quán)日:2012年8月15日
【發(fā)明者】舒玉強, 魯陽, 馬瑞林, 孔利, 任立斌 申請人:騰訊科技(深圳)有限公司