一種Web應用的窗口顯示方法、裝置及計算設備的制造方法
【專利摘要】本發明公開了一種Web應用的窗口顯示方法、裝置及計算設備,其中Web應用的窗口顯示方法適于在計算設備中執行,該方法包括以下步驟:Web應用請求并解析Html文檔和CSS文檔,生成渲染樹;計算渲染樹中每個節點元素在Web應用的應用窗口中的坐標;對滿足預設窗口標記條件的節點元素進行標記;在通過節點元素對所述應用窗口進行渲染時,將已標記的節點元素存儲在預先開辟的內存單元;根據所述存儲的節點元素創建對應的特定窗口;響應用戶在所述應用窗口中觸發的第一鍵盤鼠標事件以顯示所述特定窗口。
【專利說明】
一種Web應用的窗口顯示方法、裝置及計算設備
技術領域
[0001] 本發明涉及互聯網技術領域,特別涉及一種Web應用的窗口顯示方法、裝置及計算 設備。
【背景技術】
[0002] 隨著互聯網技術的不斷發展,html越來越完善,采用html方式開發Web應用得到了 普及。Web應用是一種可以通過Web訪問的應用程序,用戶只需要有瀏覽器即可訪問,不需要 再安裝其他軟件。Web應用一般是B/S(瀏覽器/服務器)模式,能夠很好地應用在廣域網上, 在開發迭代上更加迅速,開發者數量眾多。
[0003] 然而,在Web應用中,html/CSS制作的自定義菜單(或其他控件)無法超出瀏覽器引 擎窗口的,導致應用程序的層級關系(z軸)只能限制在瀏覽器引擎里面,無法與其他應用程 序進行集成。換句話說,Web代碼的宿主是瀏覽器或瀏覽器引擎的一個包裝。而這個宿主本 身對外的表現只是一個普通窗口,窗口里面繪制的內容是不可能延伸到窗口外,從而導致 窗口的部分內容會被其他應用的窗口遮擋,無法顯示。
【發明內容】
[0004] 為此,本發明提供一種Web應用的窗口顯示方案,以力圖解決或者至少緩解上面存 在的問題。
[0005] 根據本發明的一個方面,提供一種Web應用的窗口顯示方法,適于在計算設備中執 行,該方法包括如下步驟。首先,Web應用請求并解析Html文檔和CSS文檔,生成植染樹;計算 渲染樹中每個節點元素在Web應用的應用窗口中的坐標;對滿足預設窗口標記條件的節點 元素進行標記;在通過節點元素對應用窗口進行渲染時,將已標記的節點元素存儲在預先 開辟的內存單元;根據存儲的節點元素創建對應的特定窗口;響應用戶在應用窗口中觸發 的第一鍵盤鼠標事件以顯示特定窗口。
[0006] 可選地,在根據本發明的Web應用的窗口顯示方法中,預設窗口標記條件包括:節 點元素的窗口標記參數大于預設窗口標記參數,其中窗口標記參數通過Web應用解析CSS文 檔獲取。
[0007] 可選地,在根據本發明的Web應用的窗口顯示方法中,窗口標記參數為z-index。
[0008] 可選地,在根據本發明的Web應用的窗口顯示方法中,預設窗口標記參數為10000。
[0009] 可選地,在根據本發明的Web應用的窗口顯示方法中,根據存儲的節點元素創建對 應的特定窗口包括:獲取存儲的節點元素的坐標在應用窗口中對應的區域;創建一個與區 域大小相等、坐標相對應的特定窗口,其中坐標相對應包括特定窗口的頂點坐標映射到應 用窗口中得到的坐標與區域的頂點坐標一一對應并相等。
[0010] 可選地,在根據本發明的Web應用的窗口顯示方法中,在根據存儲的節點元素創建 對應的特定窗口之后包括:將存儲的節點元素渲染至特定窗口中。
[0011] 可選地,在根據本發明的Web應用的窗口顯示方法中,還包括:響應用戶在特定窗 口中觸發的第二鍵盤鼠標事件以觸發應用窗口中對應的鍵盤鼠標事件。
[0012]可選地,在根據本發明的Web應用的窗口顯示方法中,響應用戶在特定窗口中觸發 的第二鍵盤鼠標事件以觸發應用窗口中對應的鍵盤鼠標事件包括:獲取第二鍵盤鼠標事件 的類型;根據第二鍵盤鼠標事件的類型,確認其在特定窗口中的觸發點;計算觸發點的坐 標;計算觸發點的坐標映射到應用窗口中的相對值;根據相對值觸發應用窗口中對應的鍵 盤鼠標事件。
[0013] 根據本發明的又一個方面,提供一種Web應用的窗口顯示裝置,適于駐留在計算設 備中,該裝置包括生成模塊、計算模塊、標記模塊、存儲模塊、創建模塊和顯示模塊。其中,生 成模塊,適于Web應用請求并解析Html文檔和CSS文檔,生成植染樹;計算模塊,適于計算植 染樹中每個節點元素在Web應用的應用窗口中的坐標;標記模塊,適于對滿足預設窗口標記 條件的節點元素進行標記;存儲模塊,適于在通過節點元素對應用窗口進行渲染時,將已標 記的節點元素存儲在預先開辟的內存單元;創建模塊,適于根據存儲的節點元素創建對應 的特定窗口;顯示模塊,適于響應用戶在應用窗口中觸發的第一鍵盤鼠標事件以顯示特定 窗口。
[0014] 可選地,在根據本發明的Web應用的窗口顯示裝置中,預設窗口標記條件包括:節 點元素的窗口標記參數大于預設窗口標記參數,其中窗口標記參數通過Web應用解析CSS文 檔獲取。
[0015] 可選地,在根據本發明的Web應用的窗口顯示裝置中,窗口標記參數為z-index。
[0016] 可選地,在根據本發明的Web應用的窗口顯示裝置中,預設窗口標記參數為10000。 [0017]可選地,在根據本發明的Web應用的窗口顯示裝置中,創建模塊進一步適于:獲取 存儲的節點元素的坐標在應用窗口中對應的區域;創建一個與區域大小相等、坐標相對應 的特定窗口,其中坐標相對應包括特定窗口的頂點坐標映射到應用窗口中得到的坐標與區 域的頂點坐標--對應并相等。
[0018] 可選地,在根據本發明的Web應用的窗口顯示裝置中,還包括:渲染模塊,適于將存 儲的節點元素渲染至特定窗口中。
[0019] 可選地,在根據本發明的Web應用的窗口顯示裝置中,還包括:觸發模塊,適于響應 用戶在特定窗口中觸發的第二鍵盤鼠標事件以觸發應用窗口中對應的鍵盤鼠標事件。
[0020] 可選地,在根據本發明的Web應用的窗口顯示裝置中,觸發模塊進一步適于:獲取 第二鍵盤鼠標事件的類型;根據第二鍵盤鼠標事件的類型,確認其在特定窗口中的觸發點; 計算觸發點的坐標;計算觸發點的坐標映射到應用窗口中的相對值;根據相對值觸發應用 窗口中對應的鍵盤鼠標事件。
[0021] 根據本發明的又一個方面,還提供一種計算設備,包括根據本發明的Web應用的窗 口顯示裝置。
[0022]根據本發明的Web應用的窗口顯示的技術方案,首先Web應用解析Html文檔和CSS 文檔生成渲染樹,并計算渲染樹中各節點元素在應用窗口中的坐標,標記并存儲窗口標記 參數大于預設窗口標記參數的節點元素,響應用戶在應用窗口中觸發的第一鍵盤鼠標事件 來顯示根據存儲的節點元素創建的特定窗口。上述技術方案中,根據窗口標記參數大于預 設窗口標記參數的節點元素創建特定窗口,利用實時生成新窗口并做兼容的方式,實現了 Web應用中窗口的交疊出現,避免新窗口無法超出應用窗口界面而部分內容無法顯示的情 況。
【附圖說明】
[0023] 為了實現上述以及相關目的,本文結合下面的描述和附圖來描述某些說明性方 面,這些方面指示了可以實踐本文所公開的原理的各種方式,并且所有方面及其等效方面 旨在落入所要求保護的主題的范圍內。通過結合附圖閱讀下面的詳細描述,本公開的上述 以及其它目的、特征和優勢將變得更加明顯。遍及本公開,相同的附圖標記通常指代相同的 部件或元素。
[0024] 圖1示出了根據本發明的一個實施例的計算設備100的示意圖;
[0025]圖2示出了根據本發明一個實施例的Web應用的窗口顯示方法200的流程圖;以及 [0026]圖3示出了根據本發明的一個實施例的Web應用的窗口顯示裝置300的示意圖。
【具體實施方式】
[0027] 下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開 的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這里闡述的實施例 所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍 完整的傳達給本領域的技術人員。
[0028] 圖1是示例計算設備100的框圖。在基本的配置102中,計算設備100典型地包括系 統存儲器106和一個或者多個處理器104。存儲器總線108可以用于在處理器104和系統存儲 器106之間的通信。
[0029] 取決于期望的配置,處理器104可以是任何類型的處理,包括但不限于:微處理器 (μρ)、微控制器(yC)、數字信息處理器(DSP)或者它們的任何組合。處理器104可以包括諸如 一級高速緩存110和二級高速緩存112之類的一個或者多個級別的高速緩存、處理器核心 114和寄存器116。示例的處理器核心114可以包括運算邏輯單元(ALU)、浮點數單元(FPU)、 數字信號處理核心(DSP核心)或者它們的任何組合。示例的存儲器控制器118可以與處理器 104-起使用,或者在一些實現中,存儲器控制器118可以是處理器104的一個內部部分。
[0030] 取決于期望的配置,系統存儲器106可以是任意類型的存儲器,包括但不限于:易 失性存儲器(諸如RAM)、非易失性存儲器(諸如R0M、閃存等)或者它們的任何組合。系統存儲 器106可以包括操作系統120、一個或者多個應用122以及程序數據124。在一些實施方式中, 應用122可以布置為在操作系統上利用程序數據124進行操作。
[0031] 計算設備100還可以包括有助于從各種接口設備(例如,輸出設備142、外設接口 144和通信設備146)到基本配置102經由總線/接口控制器130的通信的接口總線140。示例 的輸出設備142包括圖形處理單元148和音頻處理單元150。它們可以被配置為有助于經由 一個或者多個A/V端口 152與諸如顯示器或者揚聲器之類的各種外部設備進行通信。示例外 設接口 144可以包括串行接口控制器154和并行接口控制器156,它們可以被配置為有助于 經由一個或者多個I/O端口 158和諸如輸入設備(例如,鍵盤、鼠標、筆、語音輸入設備、觸摸 輸入設備)或者其他外設(例如打印機、掃描儀等)之類的外部設備進行通信。示例的通信設 備146可以包括網絡控制器160,其可以被布置為便于經由一個或者多個通信端口 164與一 個或者多個其他計算設備162通過網絡通信鏈路的通信。
[0032] 網絡通信鏈路可以是通信介質的一個示例。通信介質通常可以體現為在諸如載波 或者其他傳輸機制之類的調制數據信號中的計算機可讀指令、數據結構、程序模塊,并且可 以包括任何信息遞送介質。"調制數據信號"可以這樣的信號,它的數據集中的一個或者多 個或者它的改變可以在信號中編碼信息的方式進行。作為非限制性的示例,通信介質可以 包括諸如有線網絡或者專線網絡之類的有線介質,以及諸如聲音、射頻(RF)、微波、紅外 (IR)或者其它無線介質在內的各種無線介質。這里使用的術語計算機可讀介質可以包括存 儲介質和通信介質二者。
[0033] 計算設備100可以實現為小尺寸便攜(或者移動)電子設備的一部分,這些電子設 備可以是諸如蜂窩電話、個人數字助理(PDA)、個人媒體播放器設備、無線網絡瀏覽設備、個 人頭戴設備、應用專用設備、或者可以包括上面任何功能的混合設備。計算設備1〇〇還可以 實現為包括桌面計算機和筆記本計算機配置的個人計算機。在一些實施例中,計算設備100 被配置為執行根據本發明的Web應用的窗口顯示方法。應用122包括根據本發明的Web應用 的窗口顯示裝置300。
[0034]圖2示出了根據本發明一個實施例的Web應用的窗口顯示方法200的流程圖。Web應 用的窗口顯示方法200適于在計算設備(例如圖1所示的計算設備100)中執行。
[0035] 如圖2所示,方法200始于步驟S210。在步驟S210中,Web應用請求并解析Html文檔 和CSS文檔,生成渲染樹。在本實施例中,Web應用采用Webkit作為瀏覽器引擎,對Html文檔 和CSS文檔進行解析。Webkit先將Html文檔解析成樹形的數據結構,簡稱D0M(Document Object Model)樹,再將CSS文檔解析成樹形的樹形結構,得到CCS0M(CSS Object Model) 樹。將DOM樹和CSS0M樹合并起來生成渲染樹。渲染樹和DOM樹一樣,以多叉樹的形式保存了 每個節點元素的CSS屬性、節點本身屬性以及節點的孩子節點。
[0036]隨后,在步驟S220中,計算渲染樹中每個節點元素在Web應用的應用窗口中的坐 標。在本實施例中,在layout階段,瀏覽器引擎Webkit計算植染樹中每個節點元素在Web應 用的應用窗口中的坐標,在計算完成后,Webkit最終獲取了要顯示的節點元素、每個節點元 素的CSS屬性、每個節點元素在應用窗口中的坐標位置。
[0037]在步驟S230中,對滿足預設窗口標記條件的節點元素進行標記,預設窗口標記條 件包括節點元素的窗口標記參數大于預設窗口標記參數,其中窗口標記參數通過Web應用 解析CSS文檔獲取。對于通過解析CSS文檔獲取的窗口標記參數,其中Web應用對需要脫離瀏 覽器引擎的窗口區域限制的節點元素對應的窗口標記參數預先設置為大于預設窗口標記 參數。經過步驟S210后,在解析Html文檔和CSS文檔生成渲染樹后得到的節點元素中,一定 存在部分節點元素的窗口標記參數大于預設窗口標記參數,從而在步驟S230中可對上述滿 足預設窗口標記條件的節點元素進行標記。在本實施例中,窗口標記參數為z-index,為CSS 屬性的一種,用于設置元素的堆疊順序,擁有更高堆疊順序的元素一般處于堆疊順序較低 的元素的前面。預設窗口標記參數為10000,經過步驟S210后,在解析Html文檔和CSS文檔生 成植染樹后得到的節點元素中,一定存在z-index值大于10000的節點元素。在步驟S230中, 在layout階段,將z-index值大于10000的節點元素進行標記。
[0038] 在步驟S240中,在通過節點元素對應用窗口進行渲染時,將已標記的節點元素存 儲在預先開辟的內存單元。在本實施例中,Webkit在通過節點元素對應用窗口進行植染時, 對于已標記的節點元素,并不會在將其渲染至應用窗口中,而是存儲在預先開辟的內存單 元里。關鍵代碼如下所示:
[0040]在步驟S250中,根據存儲的節點元素創建對應的特定窗口。首先,獲取存儲的節點 元素的坐標在應用窗口中對應的區域;其次,創建一個與上述區域大小相等、坐標相對應的 特定窗口,其中坐標相對應包括特定窗口的頂點坐標(四個角的頂點坐標)映射到應用窗口 中得到的坐標與上述區域的頂點坐標--對應并相等。在本實施例中,根據存儲的節點元 素,獲取其坐標在應用窗口中對應的區域,通過本地窗口系統X11的API創建一個與該區域 大小相等、坐標相對應的特定窗口。從層次關系上來說,可以將應用窗口與特定窗口看出是 兩個層次的窗口平面,特定窗口可視為懸浮于應用窗口之上,從而脫離了瀏覽器引擎的窗 口區域限制。以一個存儲的節點元素 A為例,在應用窗口中以其左上角的頂點作為原點,其 坐標設置為(〇,〇),節點元素 A在應用窗口中對應的區域的左上角頂點坐標為(30,120),左 下角頂點坐標為(30,220),右上角頂點坐標為(330,120),右下角頂點坐標為(330,220)。由 于特定窗口創建完成后是形成的一個新窗口,對特定窗口而言,應以其左上角頂點作為原 點,因此特定窗口的左上角頂點坐標為(0,〇),由特定窗口和應用窗口的原點坐標的位移關 系可知,特定坐標的左下角頂點坐標為(0,100),右上角頂點坐標為(300,0),右下角頂點坐 標為(300,100),實現了特定窗口的頂點坐標映射到應用窗口中得到的坐標與上述區域的 頂點坐標一一對應并相等。其中,節點元素 A在應用窗口中對應區域在html文檔有相應的〈 div>標簽包括的內容表示,而該區域的大小和頂點坐標對應存儲在CSS文檔中,可通過調用 absoluteBounding Box()方法獲取。特定窗口創建完成后,將存儲的節點元素植染至特定 窗口中,該特定窗口可以表現為菜單或其他控件形式。關鍵代碼如下所示:
[0043]隨后,進入步驟S260,響應用戶在應用窗口中觸發的第一鍵盤鼠標事件以顯示特 定窗口。特定窗口顯示后,響應用戶在特定窗口中觸發的第二鍵盤鼠標事件以觸發應用窗 口中對應的鍵盤鼠標事件。當用戶在特定窗口中觸發第二鍵盤鼠標事件時,首先獲取第二 鍵盤鼠標事件的類型,再根據事件類型確認其在特定窗口中的觸發點,計算觸發點的坐標 并將該坐標映射到應用窗口中獲得其相對值,最后根據該相對值觸發應用窗口中對應的鍵 盤鼠標事件。在本實施例中,用戶在特定窗口中觸發了鼠標事件,以鼠標左鍵單擊了特定窗 口中的一個選項B,則獲取第二鍵盤鼠標事件的類型為鼠標左鍵單擊,確定其在特定窗口中 的觸發點,即單擊位置為選項B,計算單擊位置的坐標得出結果為(80,160),根據特定窗口 和應用窗口的原點坐標的位移關系可知,單擊位置的坐標映射到應用窗口后獲得的相對值 為(110,280),最后在應用窗口中坐標為(110,280)的位置觸發鼠標左鍵單擊事件。
[0044]圖3示出了根據本發明一個實施例的Web應用的窗口顯示裝置300的示意圖。該裝 置包括:生成模塊310、計算模塊320、標記模塊330、存儲模塊340、創建模塊350和顯示模塊 360。該裝置還包括渲染模塊和觸發模塊(圖中均未示出),渲染模塊位于創建模塊350和顯 示模塊360之間,適于將存儲的節點元素渲染至特定窗口中。觸發模塊位于顯示模塊360之 后,適于響應用戶在特定窗口中觸發的第二鍵盤鼠標事件以觸發應用窗口中對應的鍵盤鼠 標事件。
[0045]生成模塊310適于Web應用請求并解析Html文檔和CSS文檔,生成渲染樹。在本實施 例中,Web應用采用Webkit作為瀏覽器引擎,對Html文檔和CSS文檔進行解析。Webkit將Html 文檔解析后獲得的DOM(Document Object Model)樹和將CSS文檔解析后得到的CCSOM(CSS Object Model)樹合并起來生成植染樹。
[0046]計算模塊320適于計算渲染樹中每個節點元素在Web應用的應用窗口中的坐標。在 本實施例中,在layout階段,瀏覽器引擎Webkit計算植染樹中每個節點元素在Web應用的應 用窗口中的坐標,在計算完成后,Webkit最終獲取了要顯示的節點元素、每個節點元素的 CSS屬性、每個節點元素在應用窗口中的坐標位置。
[0047]標記模塊330適于對滿足預設窗口標記條件的節點元素進行標記。其中,預設窗口 標記條件包括節點元素的窗口標記參數大于預設窗口標記參數,其中窗口標記參數通過 Web應用解析CSS文檔獲取。對于通過解析CSS文檔獲取的窗口標記參數,其中Web應用對需 要脫離瀏覽器引擎的窗口區域限制的節點元素對應的窗口標記參數預先設置為大于預設 窗口標記參數。在本實施例中,窗口標記參數為z-index,預設窗口標記參數為10000,通過 生成模塊310解析Html文檔和CSS文檔生成植染樹后得到的節點元素中,一定存在z-index 值大于10000的節點元素。標記模塊330在layout階段,將z-index值大于10000的節點元素 進行標記。
[0048]存儲模塊340適于在通過節點元素對應用窗口進行渲染時,將已標記的節點元素 存儲在預先開辟的內存單元。在本實施例中,Webkit在通過節點元素對應用窗口進行植染 時,對于已標記的節點元素,并不會在將其渲染至應用窗口中,而是存儲在預先開辟的內存 單元里。
[0049] 創建模塊350適于根據存儲的節點元素創建對應的特定窗口,進一步適于:獲取存 儲的節點元素的坐標在應用窗口中對應的區域;倉il建一個與上述區域大小相等、坐標相對 應的特定窗口,其中坐標相對應包括特定窗口的頂點坐標(四個角的頂點坐標)映射到應用 窗口中得到的坐標與上述區域的頂點坐標--對應并相等。在本實施例中,以一個存儲的 節點元素 A為例,在應用窗口中以其左上角的頂點作為原點,其坐標設置為(0,0),節點元素 A在應用窗口中對應的區域的左上角頂點坐標為(30,120),左下角頂點坐標為(30,220),右 上角頂點坐標為(330,120),右下角頂點坐標為(330,220)。對特定窗口而言,應以其左上角 頂點作為原點,因此特定窗口的左上角頂點坐標為(〇,〇),由特定窗口和應用窗口的原點坐 標的位移關系可知,特定坐標的左下角頂點坐標為(〇, 100),右上角頂點坐標為(300,0),右 下角頂點坐標為(300,100),實現了特定窗口的頂點坐標映射到應用窗口中得到的坐標與 上述區域的頂點坐標--對應并相等。
[0050] 顯示模塊360適于響應用戶在應用窗口中觸發的第一鍵盤鼠標事件以顯示特定窗 口。特定窗口顯示后,觸發模塊適于響應用戶在特定窗口中觸發的第二鍵盤鼠標事件以觸 發應用窗口中對應的鍵盤鼠標事件,進一步適于:獲取第二鍵盤鼠標事件的類型;根據第二 鍵盤鼠標事件的類型,確認其在特定窗口中的觸發點;計算觸發點的坐標;計算觸發點的坐 標映射到應用窗口中的相對值;根據相對值觸發應用窗口中對應的鍵盤鼠標事件。在本實 施例中,用戶在特定窗口中的選項B上觸發了鼠標左鍵單擊事件,則獲取第二鍵盤鼠標事件 的類型為鼠標左鍵單擊,確定其在特定窗口中的觸發點,即單擊位置為選項B,計算單擊位 置的坐標得出結果為(80,160),根據特定窗口和應用窗口的原點坐標的位移關系可知,單 擊位置的坐標映射到應用窗口后獲得的相對值為(110,280),最后在應用窗口中坐標為 (110,280)的位置觸發鼠標左鍵單擊事件。
[0051]關于Web應用的窗口顯示的具體步驟以及實施例,在基于圖2的描述中已經詳細公 開,此處不再贅述。
[0052] 對Web應用而言,現有的Web代碼的宿主是瀏覽器或瀏覽器引擎的一個包裝。而這 個宿主本身對外的表現只是一個普通窗口,窗口里面繪制的內容是不可能延伸到窗口外, 從而導致窗口的部分內容會被其他應用的窗口遮擋,無法顯示。而根據本發明的Web應用的 窗口顯示的技術方案,通過解析Html文檔和CSS文檔生成渲染樹,計算渲染樹中各節點元素 在應用窗口中的坐標,標記并存儲窗口標記參數大于預設窗口標記參數的節點元素,響應 用戶在應用窗口中觸發的第一鍵盤鼠標事件來顯示根據存儲的節點元素創建的特定窗口。 上述技術方案中,根據窗口標記參數大于預設窗口標記參數的節點元素創建特定窗口,利 用實時生成新窗口并做兼容的方式,實現了 Web應用中窗口的交疊出現,避免新窗口無法超 出應用窗口界面而部分內容無法顯示的問題。
[0053] B10.如B9所述的裝置,其中所述預設窗口標記條件包括:
[0054]所述節點元素的窗口標記參數大于預設窗口標記參數,其中所述窗口標記參數通 過Web應用解析CSS文檔獲取。
[0055] B11.如B10所述的裝置,其中所述窗口標記參數為z-index。
[0056] B12.如B11所述的裝置,其中所述預設窗口標記參數為10000。
[0057] B13.如B9所述的裝置,其中所述創建模塊進一步適于:
[0058] 獲取所述存儲的節點元素的坐標在應用窗口中對應的區域;
[0059] 創建一個與所述區域大小相等、坐標相對應的特定窗口,其中所述坐標相對應包 括特定窗口的頂點坐標映射到應用窗口中得到的坐標與所述區域的頂點坐標--對應并 相等。
[0060] B14.如B9所述的裝置,還包括:
[0061 ]渲染模塊,適于將所述存儲的節點元素渲染至所述特定窗口中。
[0062] B15.如B9所述的裝置,還包括:
[0063 ]觸發模塊,適于響應用戶在特定窗口中觸發的第二鍵盤鼠標事件以觸發應用窗口 中對應的鍵盤鼠標事件。
[0064] B16.如B15所述的裝置,所述觸發模塊進一步適于:
[0065] 獲取所述第二鍵盤鼠標事件的類型;
[0066] 根據所述第二鍵盤鼠標事件的類型,確認其在特定窗口中的觸發點;
[0067] 計算所述觸發點的坐標;
[0068] 計算所述觸發點的坐標映射到應用窗口中的相對值;
[0069] 根據所述相對值觸發應用窗口中對應的鍵盤鼠標事件。
[0070]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施 例可以在沒有這些具體細節的情況下被實踐。在一些實例中,并未詳細示出公知的方法、結 構和技術,以便不模糊對本說明書的理解。
[0071] 類似地,應當理解,為了精簡本公開并幫助理解各個發明方面中的一個或多個,在 上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施 例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保 護的本發明要求比在每個權利要求中所明確記載的特征更多特征。更確切地說,如下面的 權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵 循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都 作為本發明的單獨實施例。
[0072] 本領域那些技術人員應當理解在本文所公開的示例中的設備的模塊或單元或組 件可以布置在如該實施例中所描述的設備中,或者可替換地可以定位在與該示例中的設備 不同的一個或多個設備中。前述示例中的模塊可以組合為一個模塊或者此外可以分成多個 子模塊。
[0073]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地 改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單 元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或 子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何 組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任 何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權 利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代 替。
[0074]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例 中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發明的 范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任 意之一都可以以任意的組合方式來使用。
[0075]此外,所述實施例中的一些在此被描述成可以由計算機系統的處理器或者由執行 所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用于實施所述方法或方法 元素的必要指令的處理器形成用于實施該方法或方法元素的裝置。此外,裝置實施例的在 此所述的元素是如下裝置的例子:該裝置用于實施由為了實施該發明的目的的元素所執行 的功能。
[0076]如在此所使用的那樣,除非另行規定,使用序數詞"第一"、"第二"、"第三"等等來 描述普通對象僅僅表示涉及類似對象的不同實例,并且并不意圖暗示這樣被描述的對象必 須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
[0077]盡管根據有限數量的實施例描述了本發明,但是受益于上面的描述,本技術領域 內的技術人員明白,在由此描述的本發明的范圍內,可以設想其它實施例。此外,應當注意, 本說明書中使用的語言主要是為了可讀性和教導的目的而選擇的,而不是為了解釋或者限 定本發明的主題而選擇的。因此,在不偏離所附權利要求書的范圍和精神的情況下,對于本 技術領域的普通技術人員來說許多修改和變更都是顯而易見的。對于本發明的范圍,對本 發明所做的公開是說明性的,而非限制性的,本發明的范圍由所附權利要求書限定。
【主權項】
1. 一種Web應用的窗口顯示方法,所述方法適于在計算設備中執行,該方法包括: Web應用請求并解析Html文檔和CSS文檔,生成渲染樹; 計算渲染樹中每個節點元素在Web應用的應用窗口中的坐標; 對滿足預設窗口標記條件的節點元素進行標記; 在通過節點元素對所述應用窗口進行渲染時,將已標記的節點元素存儲在預先開辟的 內存單元; 根據所述存儲的節點元素創建對應的特定窗口; 響應用戶在所述應用窗口中觸發的第一鍵盤鼠標事件以顯示所述特定窗口。2. 如權利要求1所述的方法,其中所述預設窗口標記條件包括: 所述節點元素的窗口標記參數大于預設窗口標記參數,其中所述窗口標記參數通過 Web應用解析CSS文檔獲取。3. 如權利要求2所述的方法,其中所述窗口標記參數為z-index。4. 如權利要求3所述的方法,其中所述預設窗口標記參數為10000。5. 如權利要求1所述的方法,其中根據所述存儲的節點元素創建對應的特定窗口包括: 獲取所述存儲的節點元素的坐標在應用窗口中對應的區域; 創建一個與所述區域大小相等、坐標相對應的特定窗口,其中所述坐標相對應包括特 定窗口的頂點坐標映射到應用窗口中得到的坐標與所述區域的頂點坐標一一對應并相等。6. 如權利要求5所述的方法,其中在根據所述存儲的節點元素創建對應的特定窗口之 后包括: 將所述存儲的節點元素渲染至所述特定窗口中。7. 如權利要求1所述的方法,還包括: 響應用戶在特定窗口中觸發的第二鍵盤鼠標事件以觸發應用窗口中對應的鍵盤鼠標 事件。8. 如權利要求7所述的方法,其中所述響應用戶在特定窗口中觸發的第二鍵盤鼠標事 件以觸發應用窗口中對應的鍵盤鼠標事件包括: 獲取所述第二鍵盤鼠標事件的類型; 根據所述第二鍵盤鼠標事件的類型,確認其在特定窗口中的觸發點; 計算所述觸發點的坐標; 計算所述觸發點的坐標映射到應用窗口中的相對值; 根據所述相對值觸發應用窗口中對應的鍵盤鼠標事件。9. 一種Web應用的窗口顯示裝置,所述裝置適于駐留在計算設備中,該裝置包括: 生成模塊,適于Web應用請求并解析Html文檔和CSS文檔,生成渲染樹; 計算模塊,適于計算渲染樹中每個節點元素在Web應用的應用窗口中的坐標; 標記模塊,適于對滿足預設窗口標記條件的節點元素進行標記; 存儲模塊,適于在通過節點元素對所述應用窗口進行渲染時,將已標記的節點元素存 儲在預先開辟的內存單元; 創建模塊,適于根據所述存儲的節點元素創建對應的特定窗口; 顯示模塊,適于響應用戶在所述應用窗口中觸發的第一鍵盤鼠標事件以顯示所述特定 窗口。10. -種計算設備,包括如權利要求9所述的Web應用的窗口顯示裝置。
【文檔編號】G06F3/0481GK106095241SQ201610415507
【公開日】2016年11月9日
【申請日】2016年6月14日 公開號201610415507.2, CN 106095241 A, CN 106095241A, CN 201610415507, CN-A-106095241, CN106095241 A, CN106095241A, CN201610415507, CN201610415507.2
【發明人】夏彬, 閆博文, 李立強, 徐發勝
【申請人】武漢深之度科技有限公司