當(dāng)前窗口的位置,使用戶縮放前瀏覽的區(qū)域顯示在窗口內(nèi)的可視區(qū)域。在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)施方式中,將縮放后的縮放中心點(diǎn)作為當(dāng)前顯示窗口的中心點(diǎn),獲取縮放后顯示窗口相對(duì)于網(wǎng)頁(yè)的第二坐標(biāo)信息,可以包括:
[0038]按照以下公式獲取縮放后所述顯示窗口相對(duì)于網(wǎng)頁(yè)的第二坐標(biāo)信息:
[0039]X2 = Xf - W/2 ;
[0040]Y2 = Yf - H/2 ;
[0041]其中,(X2,Y2)為顯示窗口的左上角頂點(diǎn)相對(duì)于網(wǎng)頁(yè)的坐標(biāo)信息,(Xf, Yf)為第一坐標(biāo)信息(即縮放后的縮放中心點(diǎn)相對(duì)于網(wǎng)頁(yè)的坐標(biāo)信息),W為顯示窗口的寬度,H為顯示窗口的高度。
[0042]進(jìn)一步的,為了更精確地將縮放前用戶瀏覽的區(qū)域顯示在窗口,可以先定位縮放中心點(diǎn)所對(duì)應(yīng)的網(wǎng)頁(yè)的節(jié)點(diǎn)區(qū)域,并獲取縮放中心點(diǎn)在節(jié)點(diǎn)區(qū)域中的位置比例,在調(diào)整縮放后的窗口位置時(shí),可以根據(jù)獲取的比例位置進(jìn)行調(diào)整。
[0043]因此,在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)施方式中,在執(zhí)行縮放命令之前,還可以獲取縮放中心點(diǎn)在網(wǎng)頁(yè)中所對(duì)應(yīng)的節(jié)點(diǎn)區(qū)域中的位置比例。此時(shí),獲取縮放中心點(diǎn)在縮放后相對(duì)于所述網(wǎng)頁(yè)的第一坐標(biāo)信息為獲取縮放后的節(jié)點(diǎn)區(qū)域相對(duì)于網(wǎng)頁(yè)的坐標(biāo)區(qū)域信息。獲取到位置比例和第一坐標(biāo)信息后,可以根據(jù)位置比例以及節(jié)點(diǎn)區(qū)域在縮放后相對(duì)于網(wǎng)頁(yè)的坐標(biāo)區(qū)域信息,獲取縮放后顯示窗口相對(duì)于網(wǎng)頁(yè)的第二坐標(biāo)信息。
[0044]鑒于上述優(yōu)選實(shí)施方式,在本發(fā)明實(shí)施例的另一個(gè)優(yōu)選實(shí)施方式中,可以通過(guò)以下步驟獲取所述縮放中心點(diǎn)在所述網(wǎng)頁(yè)中所對(duì)應(yīng)的節(jié)點(diǎn)區(qū)域中的位置比例:
[0045]獲取縮放前縮放中心點(diǎn)相對(duì)于網(wǎng)頁(yè)的第三坐標(biāo)信息(Xpl,Ypl);
[0046]根據(jù)獲取的第三坐標(biāo)信息,定位縮放中心點(diǎn)所對(duì)應(yīng)的網(wǎng)頁(yè)的節(jié)點(diǎn)區(qū)域;
[0047]獲取節(jié)點(diǎn)區(qū)域相對(duì)于網(wǎng)頁(yè)的坐標(biāo)區(qū)域(Xn,Yn) (Wn,Hn),其中,(Xn,Yn)為節(jié)點(diǎn)區(qū)域的左上角頂點(diǎn)相對(duì)于網(wǎng)頁(yè)的坐標(biāo)信息,Wn為節(jié)點(diǎn)區(qū)域的寬度,Hn為節(jié)點(diǎn)區(qū)域的高度;
[0048]根據(jù)第三坐標(biāo)信息和節(jié)點(diǎn)區(qū)域的坐標(biāo)區(qū)域,獲取縮放中心點(diǎn)在節(jié)點(diǎn)區(qū)域中的位置比例,其中,位置比例包括水平方向的比例PercentX和垂直方向的比例PercentY:
[0049]PercentX = (Xpl-Xn) /Wn,
[0050]PercentY = (Ypl-Yn)/Hn0
[0051]鑒于上述優(yōu)選實(shí)施方式,可以獲取縮放后節(jié)點(diǎn)區(qū)域相對(duì)于網(wǎng)頁(yè)的坐標(biāo)區(qū)域(Xm,Ym) (Wm,Hm),其中,(Xm, Ym)為節(jié)點(diǎn)區(qū)域的左上角頂點(diǎn)相對(duì)于網(wǎng)頁(yè)的坐標(biāo)信息,Wm為節(jié)點(diǎn)區(qū)域的寬度,Hm為節(jié)點(diǎn)區(qū)域的高度。
[0052]根據(jù)節(jié)點(diǎn)區(qū)域在縮放后相對(duì)于所述網(wǎng)頁(yè)的坐標(biāo)區(qū)域信息及獲取的位置比例,可以按照以下公式獲取縮放后顯示窗口相對(duì)于網(wǎng)頁(yè)的第二坐標(biāo)信息:
[0053]X2 = Xm+PercentX*ffm — W/2 ;
[0054]Y2 = Ym+PercentY*Hm — H/2 ;
[0055]其中,(X2,Y2)為顯示窗口的左上角頂點(diǎn)相對(duì)于網(wǎng)頁(yè)的坐標(biāo)信息,W為顯示窗口的寬度,H為顯示窗口的高度。
[0056]獲取縮放后顯示窗口相對(duì)于網(wǎng)頁(yè)的第二坐標(biāo)信息后,根據(jù)坐標(biāo)(Χ2,Υ2)進(jìn)行位置移動(dòng)。坐標(biāo)(Χ2,Υ2),即瀏覽器的可視窗口移動(dòng)到的區(qū)域坐標(biāo),因此將可視窗口移動(dòng)到該坐標(biāo),并顯示網(wǎng)頁(yè)在縮放后位于顯示窗口的內(nèi)容。這樣,使得縮放后還能自動(dòng)將內(nèi)容調(diào)整到屏幕中心顯示。
[0057]在本發(fā)明實(shí)施例的一個(gè)優(yōu)選實(shí)施方式中,上述節(jié)點(diǎn)區(qū)域可以為預(yù)先劃分的網(wǎng)頁(yè)的文本區(qū)域或圖片區(qū)域。
[0058]實(shí)施例二
[0059]根據(jù)本發(fā)明實(shí)施例,可以實(shí)現(xiàn)在用戶對(duì)網(wǎng)頁(yè)比例進(jìn)行縮放(多點(diǎn)觸摸放大/縮小、或點(diǎn)擊縮放按鈕)之后,對(duì)網(wǎng)頁(yè)進(jìn)行自動(dòng)重新排版,并且將用戶之前正在看的內(nèi)容對(duì)齊到屏幕中央去,從而就省得用戶再手動(dòng)調(diào)整閱讀位置。
[0060]在本發(fā)明實(shí)施例中,網(wǎng)頁(yè)大小為:整個(gè)網(wǎng)頁(yè)的大??;窗口大小為:瀏覽器可視的窗口的大?。淮翱谖恢脼?瀏覽器可視窗口左上角在整個(gè)網(wǎng)頁(yè)中的坐標(biāo)。點(diǎn)的坐標(biāo)表示為(X,Y),X為該點(diǎn)的X軸坐標(biāo),Y為該點(diǎn)的Y軸坐標(biāo)。區(qū)域的區(qū)域坐標(biāo)表示為(X,Y),(W,H),其中,X為該區(qū)域的左上角的X軸坐標(biāo),Y為該區(qū)域的左上角的Y軸坐標(biāo),W為該區(qū)域的寬度,H為該區(qū)域的高度。
[0061]以手機(jī)瀏覽器的窗口寬度、高度分別為W、H,并且窗口的位置為(XI,Yl)為例,當(dāng)前網(wǎng)頁(yè)的縮放比例表示為Ζ1。此時(shí)用戶對(duì)網(wǎng)頁(yè)進(jìn)行縮放(放大或縮小)操作,通過(guò)多點(diǎn)觸摸或者縮放按鈕均可,并且操作后的縮放比例為Ζ2。在本發(fā)明實(shí)施例中,以用戶使用兩點(diǎn)觸摸進(jìn)行縮放為例進(jìn)行說(shuō)明。
[0062]圖2是根據(jù)本發(fā)明實(shí)施例二的網(wǎng)頁(yè)內(nèi)容顯示的實(shí)現(xiàn)方法的流程圖,如圖2所示該方法可以包括以下幾個(gè)步驟(步驟S202-步驟S214)。
[0063]步驟S202,計(jì)算用戶兩點(diǎn)觸摸的中心點(diǎn)在屏幕中的坐標(biāo),即(Xp, Yp),并計(jì)算相對(duì)整個(gè)網(wǎng)頁(yè)的坐標(biāo)為(Xp+Xl,Yp+Yl)即(Xpl, YpDo
[0064]在獲取到用戶的縮放操作后,該步驟開始計(jì)算用戶兩點(diǎn)觸摸的中心點(diǎn)在屏幕中的坐標(biāo)。
[0065]其中,兩點(diǎn)觸摸的中心點(diǎn)的坐標(biāo)(Xp,Yp)是通過(guò)以下公式計(jì)算的:瀏覽器給出用戶在屏幕上觸摸的兩個(gè)點(diǎn)的坐標(biāo),分別為(Xa,Ya)以及(Xb,Yb),然后計(jì)算Xp =(Xa+Xb)/2,Yp = (Ya+Yb)/2o
[0066]步驟S204,通過(guò)計(jì)算所得的中心點(diǎn)相對(duì)整個(gè)網(wǎng)頁(yè)的坐標(biāo)(Xpl,Ypl),定位坐標(biāo)(XpLYpl)所對(duì)應(yīng)的網(wǎng)頁(yè)中的節(jié)點(diǎn)(文本、圖片等),該節(jié)點(diǎn)可以標(biāo)記為“Node”。
[0067]步驟S206,計(jì)算該Node的坐標(biāo)區(qū)域(Xn,Yn) (Wn,Hn)。其中,Xn為節(jié)點(diǎn)區(qū)域的左上角的X軸坐標(biāo),Yn為節(jié)點(diǎn)區(qū)域的左上角的Y軸坐標(biāo),Wn為節(jié)點(diǎn)區(qū)域的寬度,Hn為節(jié)點(diǎn)區(qū)域的高度。
[0068]關(guān)于節(jié)點(diǎn)的區(qū)域的計(jì)算,根據(jù)HTML4.1以及CSS2.1的官方規(guī)范對(duì)網(wǎng)頁(yè)進(jìn)行排版,然后根據(jù)Dom規(guī)范找出該元素(文本、圖片等)對(duì)應(yīng)的節(jié)點(diǎn),然后瀏覽器會(huì)給出該節(jié)點(diǎn)的排版區(qū)域,該區(qū)域就是X坐標(biāo)、y坐標(biāo)、寬度、高度。通過(guò)該方式,可以得到Node的坐標(biāo)區(qū)域。
[0069]步驟S208,計(jì)算中心點(diǎn)在Node節(jié)點(diǎn)中的位置比例。其中,該位置比例可以通過(guò)如下公式確定:水平方向中的比例為PercentX = (Xpl-Xn) /Wn,垂直方向中的比例為PercentY = (Ypl-Yn)/Hn0
[0070]步驟S210,頁(yè)面進(jìn)行縮放,并重新排版,由于排版時(shí)會(huì)對(duì)屏幕寬度進(jìn)行折行,所以排版結(jié)構(gòu)會(huì)有所變化。在新排版的結(jié)果下,計(jì)算Node的新坐標(biāo)區(qū)域(Xm,Ym) (ffm, Hm)。
[0071]該步驟響應(yīng)用戶的縮放操作(例如用戶的兩點(diǎn)觸摸縮放動(dòng)作)進(jìn)行縮放,在進(jìn)行縮放和排版之前,還會(huì)記錄前述步驟得到的各個(gè)參數(shù)。
[0072]Node的新坐標(biāo)區(qū)域的獲取方式與步驟206中的描述相同。
[0073]步驟S212,根據(jù)步驟S208中計(jì)算所得的比例值,以及屏幕寬度、高度,計(jì)算新的窗口位置。
[0074]新的窗口位置為X2 = Xm+ffm^PercentX-ff/2, Y2 = Ym+Hm*PercentY-H/2,即這個(gè)時(shí)候設(shè)置可視區(qū)域窗口的位置為(X2,Y2)。
[0075]步驟S214,根據(jù)窗口的坐標(biāo)為(X2,Y2)進(jìn)行位置移動(dòng)。
[0076]坐標(biāo)(X2,Y2),即瀏覽器的可視窗口移動(dòng)到的區(qū)域坐標(biāo)。根據(jù)計(jì)算所得的窗口的坐標(biāo),將可視窗口移動(dòng)到該坐標(biāo),并顯示網(wǎng)頁(yè)在縮放后位于顯示窗口的內(nèi)容。這樣,使得縮放后還能自動(dòng)將內(nèi)容調(diào)