新四季網

用於代碼轉換和顯示電子文檔的方法、系統和設備的製作方法

2023-06-10 05:04:11

專利名稱:用於代碼轉換和顯示電子文檔的方法、系統和設備的製作方法
技術領域:
本發明涉及對電子文檔進行代碼轉換,以便促進這樣的文檔在設備的顯示器上的顯示。具體而言,本發明涉及用於標識文檔中的元素塊並在文檔的經代碼轉換的版本中包括標識的塊以及它們的位置的列表的方法。
背景技術:
諸如網頁之類的電子文檔常常被設計用於在帶有標準尺寸的顯示器的常規臺式計算機上顯示。當這樣的文檔顯示在其他設備上時,例如,手持式設備、行動電話、電視機或遊戲控制臺,顯示器的大小和布局可能不會以對用戶方便的方式呈現文檔。在帶有相對低解析度的小型顯示器上,可以如此顯示文檔,以至於只有文檔的小部分可以在設備的視口內顯示。為了查看文檔的超出顯示器範圍的那些部分,用戶必須水平地以及垂直地滾動。這些滾動操作對用戶來說常常不方便,特別是因為這樣的設備上的用戶輸入界面不是為文檔的準確的滾動而設計的。解決此問題的一個典型的解決方案是調整文檔的某些部分的大小或移動某些部分,諸如通過改變文檔的布局,以及改變顏色、對比度、亮度和字體大小,來縮小圖像大小, 減少欄的數量。這樣的方法的缺點是文檔不會如文檔作者所希望的那樣顯示,文檔的布局中所固有的信息可能會丟失。

發明內容
根據本發明,提供了一種用於在文檔被顯示在設備上之前在文檔中包括標識的元素以及它們在文檔中的位置的列表。根據本發明的一個方面,代碼轉換伺服器可以接收原始文檔,執行符合本發明的原理的方法,並將經過代碼轉換的文檔轉發到發出請求的設備供顯示。根據本發明的第二方面,設備可以被配置成執行顯示經過代碼轉換的文檔的方法,根據列出的元素位置,選擇並顯示文檔的某些部分。在所附權利要求書中定義了本發明的細節,而在下文中參考附圖闡述了示例性實施例。


圖1示出了計算設備的基本組件;圖2示出了諸如web瀏覽器之類的用戶代理的基本體系結構;圖3示出了示例性網頁;圖4示出了如何組織圖3的網頁的布局;圖5是示出了代碼轉換伺服器的框圖;圖6是示出了對文檔進行代碼轉換的示例性方法的流程圖;圖7是示出了被配置成顯示根據本發明編碼或經代碼轉換的文檔的用戶代理的框圖8是示出了被配置成顯示根據本發明編碼或經代碼轉換的文檔的方法的流程圖。
具體實施例方式現在將參考附圖進一步詳細描述本發明。本發明可以許多不同的形式來實現,不應該被理解為僅限於此處所闡述的實施例。這些實施例只作為示例提供,以便為本領域技術人員提供對本發明的完全理解。具體而言,應該理解,儘管示例引用了特定標準和格式以便在網際網路和全球資訊網上創建、格式化、傳輸和顯示內容,但是,本發明不應該解釋為限於此處所提及的特定標準。圖1示出了可以用作用於實現本發明的各方面的環境的一般化計算設備100。圖形中所示出的各種元件可以在執行對文檔的代碼轉換的伺服器以及在顯示經過代碼轉換的文檔的設備上實現,但是,那些本領域技術人員將認識到,各種組件在不同類型的設備上大小、性能以及功能會有所不同。在圖1中,設備100包括中央處理單元(CPU) 101、存儲器102、通信埠或輸入/ 輸出埠(下文簡稱為「1/0」)103、視頻接口 104,以及網絡接口 105。這些單元通過系統總線106彼此進行通信。可包括ROM、RAM、快閃記憶體、硬碟驅動器或固定和可移動存儲器的任何其他組合的存儲器,存儲系統的各軟體組件,如基本輸入/輸出系統(BIOS) 141、作業系統142、包括應用程式和設備驅動程序的各種電腦程式143,各種數據144,及諸如宏指令和腳本145之類的其他可執行文件或指令。I/O埠 103可以連接到一個或多個本地設備110,如用戶輸入設備(例如,鍵盤、 滑鼠或遙控器)、印表機、媒體播放器、外部存儲器設備,以及諸如,例如,全球定位系統接收器(GPQ或電視機機頂盒之類的特殊用途設備。I/O埠 103可以是本地設備的諸如USB、 PS/2、RS-232、紅外線(IR)、藍牙、印表機埠,或任何其他標準化或專用通信接口之類的埠的任何組合。視頻接口設備104連接到顯示單元120,該顯示單元120可以是諸如IXD顯示器之類的外部監視器或集成的顯示器。顯示單元120可以具有觸敏屏幕,在該情況下,顯示單元可以兼作用戶輸入設備。顯示單元的用戶輸入設備方面可以被視為通過通信埠 103進行通信的本地設備110中的一個。網絡接口設備105為設備100提供連接到網絡的能力,以便與遠程設備130進行通信。在圖1中只被示為連接網絡接口 105與遠程設備130的線路的通信網絡,可以是,例如,區域網或網際網路。遠程設備原則上可以是與設備100具有類似的通信能力的任何計算設備,但是,通常可以是提供網絡服務的伺服器或某種其他單元。本領域技術人員將理解, 通信網絡可以是任何可公開訪問的網絡,或網絡的組合,包括網際網路、諸如GSM之類的蜂窩式行動網路,公用電話網、有線電視網,或模擬或數字廣播或衛星。可以理解,圖1中所示出的設備100在大小或資源方面不僅限於任何特定配置或實施例。所示出的各種組件可以實現為設備100的一個或多個集成的單元或分布到多個單元。當然,也可以存在其他單元或能力。此外,設備100可以是,例如,諸如PC之類的通用計算機,個人數字助理(PDA)、手機或智慧型電話,或遊戲控制臺或電視機機頂盒或媒體中心。
本發明的各方面可以實現為可以作為應用程式安裝在設備100上的構成用戶代理或瀏覽器的某些部分的組件和/或功能。圖2示出了可以存在於這樣的用戶代理中的若干個模塊的示例。模塊通常是軟體模塊,或可以由CPU 101執行的軟體中的某種其他實現。用戶代理200向用戶呈現用戶界面201,該用戶界面201可以顯示在圖1所示出的顯示單元120上。用戶界面可包括地址欄位202,用戶可以使用輸入設備來在此輸入他或她需要用戶代理200檢索的文檔或服務的URI。地址欄位202也可以是顯示的連結,可以由用戶使用諸如滑鼠、滾動設備之類的指示設備或用於選擇顯示出的項的某種其他裝置來激活該顯示的連結。或者,在已經由用戶代理加載的文檔或腳本的代碼中指定URI。在任何情況下,URI都可以由表示與用戶代理200(或其一部分)相關聯的用戶界面的輸入部分的窗口和輸入管理器203接收。然後,可以將URI轉發到文檔管理器204,該文檔管理器204管理作為由URI所標識的文檔的一部分接收到的數據。文檔管理器204將URI轉發到URI管理器205,該URI管理器205再次命令通信模塊206請求訪問所標識的資源。通信模塊206可以是能夠使用超文本傳輸協議(HTTP)或諸如HTTPS或FTP之類的某種其他協議,通過網絡從諸如伺服器之類的遠程設備130訪問和檢索數據。通信模塊也可以能夠訪問存儲在本地存儲器102中的數據。如果設備100外部的通信需要被加密,例如,如用於訪問URI的協議所指定的,加密/解密模塊207處理URI管理器205和通信模塊206之間的通信。由通信單元206響應於請求而接收到的數據被轉發到URI管理器205。然後,URI 管理器可以使用高速緩存管理器208將接收到的內容的副本存儲在本地存儲器102中,而高速緩存管理器208管理文檔和圖像高速緩存209。如果以後請求了同一個URI,則URI管理器205可以從高速緩存管理器208中請求它,除非被高速緩存的副本被刪除,否則,高速緩存管理器208將從高速緩存209中檢索數據,並將數據轉發到URI管理器205。在此情況下,當第二次請求同一個URI時,不需要再次從遠程設備130檢索數據。URI管理器205將接收到的數據轉發到解析器210,該解析器210能夠作為HTML、 XML和CSS解析這樣的內容。然後,取決於內容的類型和特徵,內容可以由ECMAkript引擎211(這是一個用於處理文檔對象模型(DOM)結構212的模塊)和/或布局引擎213進行進一步的處理。對檢索到的內容的這種處理由文檔管理器204進行管理,文檔管理器204也可以作為對接收到的內容的處理的結果,將另外的URI請求轉發到URI管理器205。這些另外的 URI,可以,例如,指定應該嵌入在由原始URI所指定的文檔內的圖像或其他另外的文件。當已經處理完表示指定的文檔的內容的數據時,它被從文檔管理器204轉發,以便由呈現引擎214呈現,並顯示在用戶界面201上。如此所描述的各模塊可以由處理單元101在通過系統總線106接收到指令和數據時執行。通信模塊206使用網絡接口 105與遠程設備130進行通信。當然,各模塊的功能可以集成在少一些較大的模塊上,或分布在或複製到多個模塊上。進一步可以理解,剛剛所描述的用戶代理200可以實現為應用程式143,而且,某些功能也可以是作業系統142或者甚至設備100的BIOS 141的一部分。響應於URI請求而接收到的內容可以是數據144、腳本145或這些數據的組合,如下面所進一步描述的。諸如網頁之類的電子文檔,通常是使用諸如HTML、XHTML或XML之類的標記語言創建的,通常給它們賦予了為標準計算機顯示器設計的布局。然而,諸如瀏覽器之類的用戶代理越來越多地安裝在諸如PDA、蜂窩電話、電視機機頂盒和遊戲控制臺之類的其他類型的設備上。這樣的設備具有帶有不同大小、形狀和解析度的各種顯示器。這些設備可能不能以有意義的方式呈現和顯示網頁。文檔可以被縮小到變得不能讀的程度,一次只能顯示文檔的小部分,或者文檔的布局可以以文檔的創建者從來沒有計劃的方式變化。現在參考圖3,在圖3A中示出了示例性網頁300的整個布局。網頁包括左緣301 和主要內容區域302。主要內容區域302包括以標題行303開始的文章,而左緣301包括導航菜單304,其中帶有若干個菜單條目,這些條目可以是到同一個網站的其他部分的超連結。在主要內容區域302中,在標題行303的下面有兩欄文本,在右欄內,插入了圖像306。圖:3B示出了圖3A的網頁的在瀏覽器窗口或用戶代理窗口顯示的一部分。用戶代理可以類似於上文圖2參考所描述的用戶代理,而該窗口可以顯示在類似於上文參考圖1 所描述的設備的顯示器上。窗口包括導航按鈕311、其中可以輸入所希望的文檔的URL,以及垂直滾動條313。 瀏覽器窗口的其餘部分被用來顯示文檔300的一部分。窗口的其餘部分稱為視口。值得注意的是,在圖3B中所示出的示例中,視口足夠寬,以顯示網頁300的全寬,同時只有文檔的上部能被顯示。為了查看文檔的其餘部分,提供了垂直滾動條313。通過此滾動條,可以相對於文檔300向下移動視口。圖3C再次示出了網頁300的一部分,但是,這一次是顯示在小型顯示器上,可以是 PDA或手機的顯示器。用戶代理窗口可包括圖:3B中所示出的瀏覽器窗口的一些功能,如導航按鈕311和垂直滾動條313。另外,還提供了水平滾動條314。由於視口的尺寸小,只能顯示文檔的一部分。為了查看整個文檔,用戶必須水平地和垂直地滾動。在圖IBB中所示出的情況下,可以閱讀整個文檔,沒有太多麻煩。然而,出於一些原因,用戶可能,例如,希望放大文檔的特定元素,即,放大文檔,以便在視口只顯示一小部分。 這樣的原因的一個示例可以是,用戶代理窗口在其上面顯示的顯示器120具有低解析度, 可能與用戶位於遠離顯示器120某一距離相結合,諸如如果顯示器120是電視機的屏幕的那種情況,難以適當地查看顯示的內容。另一原因可能是,用戶縮小了視野並希望放大文檔的各部分。在圖3C中所示出的情況下,應該了解到,在文檔中的導航可能是困難的,如果文本的行比視口寬,閱讀文本305將特別困難。用戶可能希望放大和縮小文檔,而將所希望的內容完全放在視口內,至少在一個維度內。現在參考圖4,該圖示出了如何就布局而言來組織文檔300。那些本領域技術人員將認識到,這只是多個示例中的一個,可以以多種方式來實現相同布局,取決於,例如,文檔 300的標記語言代碼的結構。圖4中所示出的示例是以級聯樣式表(CSS)(級別2,修訂版 1,由全球資訊網聯合會(W3C)在http://WWW. w3.org/TR/CSS21/處發布)為基礎,在此引用該文件作為參考。然而,本發明不限於此版本的CSS,或具體的CSS。下面給出的示例是簡化的,可能沒有包括全部可能性和功能或例外。當由諸如圖2中所示出的用戶代理之類的用戶代理接收到標記語言文檔時,通常如上文所描述的那樣處理文檔。布局引擎213可以,基於文檔的DOM結構,生成基於DOM樹中的元素的若干個框。根據CSS 2.1框模型的一般方法,被定義為塊框(block box)的框為子代框建立包含塊。(諸如內聯框之類的某些其他類型的塊不是塊框)。另外,諸如各種表元素之類的未被定義為框的某些其他類型的元素,也建立包含塊。可以相對於其包含塊的邊緣,計算給定框的維度和位置。在圖4中,頂級框400是整個頁面的包含塊。左邊緣301包含在一個子代框401中,而主要內容302包含在另一子代框402中。然後,可以基於其包含塊401的邊緣來計算菜單304的位置。標題行303可以包含在框403中,該框403具有框402作為其包含塊。框402可以包含另外的框404,該另外的框404包含文檔300的主要文本305。可以基於其包含的塊(框40 的邊緣來計算標題行303的位置。因為文本305分布為兩個欄,框404可以包含兩個子代框405和406。 這兩個框都具有框404作為它們的包含塊。最後,框406包含另外的框407,該另外的框407 具有框406作為其包含塊,又充當圖像306的包含塊。還可存在圖4中未示出的另外的框。通常,框405和406中所包含的文本的每一行都具有其自己的行框,並且如果文本包含超連結,則這些連結可以包含在內聯框中。可以在上文引用的CSS規範中發現對各種類型的框的比較詳細的討論。最後,塊408代表顯示一部分文檔的設備的視口的位置。在轉讓給同一個受讓人的美國專利申請11/525,177中提出了可以利用對此文檔結構的分析來選擇和顯示文檔的所感興趣的區域。這裡引用了所述專利申請的內容作為參考。本發明的發明人認識到,小型設備可能缺乏有效地分析整個文檔的計算能力,許多這樣的設備在請求和接收文檔時對它們可用的帶寬很有限,以致於可能常常需要接收文檔的壓縮版本,或只代表文檔的某些部分的數據。這可能使得對文檔的結構的局部分析更加困難。根據本發明的一個方面,可以由代碼轉換伺服器執行分析,可以作為經過代碼轉換的文檔的一部分,包括代表分析的結果的數據。現在參考圖5,該圖示出了如何以安裝在計算機上的軟體模塊來組織根據本發明的原理的代碼轉換伺服器500,所述計算機被配置成作為代理伺服器來操作,該代理伺服器從設備接收文檔請求,獲取文檔,根據本發明的原理轉換它們,並將它們轉發到發出請求的設備。第一模塊501是可以被配置成從設備接收請求的通信模塊。通信模塊501可以通過TCP/IP接收HTTP (S)請求,但是,根據本發明的原理,通信設備501還可使用其他標準或協議及網際網路之外的其他類型網絡進行通信。作為示例,通信模塊501可以被配置成通過諸如GSM、UMTS、CDMA之類的行動電話網絡,或通過諸如Wi-Fi無線區域網(IEEE S02. 11) 或WiMAX(IEEE 802. 16)之類的無線網絡,直接或間接地進行通信。通信模塊501可以連接到認證和授權模塊502,認證和授權模塊502判斷是否需要對發出請求的客戶端進行認證,並判斷該客戶端是否被授權通過伺服器500訪問被請求的資源。認證和授權可以通過由本領域的技術人員已知的方法來處理。這樣的方法的一個示例是用戶名/密碼組合。可以將接收到的請求和認證的結果記錄在記錄模塊503中。無論請求是HTTP或HTTPS請求的形式,或當由通信模塊501接收到時的任何其他格式,它都將以某種方式引用諸如文檔或網頁之類的資源,並且此標識通常是URI的形式, 或者,可以由通信模塊501將它轉換為URI。
文檔管理器504可以與圖2中所示出和描述的文檔管理器204相對應。為了簡化描述,假定文檔管理器504還包括圖2中所示出的另外的模塊的功能,如HTML/XML/CSS解析器210、ECMAScript引擎211、DOM模塊212和布局引擎213。由通信模塊501接收到的 URI作為請求的一部分。然後,可以將URI轉發到文檔管理器504,該文檔管理器504管理作為由URI所標識的文檔的一部分接收到的數據,如同將URI從窗口和輸入管理器203轉發那樣,如上文參考圖2所討論的。文檔管理器504可以將URI轉發到URI管理器505,該URI管理器505再次命令第二通信模塊506請求訪問所標識的資源。通信模塊506可以是能夠使用超文本傳輸協議 (HTTP)或諸如HTTPS或FTP之類的某種其他協議,通過網絡從諸如伺服器之類的遠程設備 130訪問和檢索數據。通信模塊也可以是能夠訪問存儲在本地存儲器102中的數據。如果由第一通信模塊501和第二通信模塊506所使用的通信標準和協議相同,則這兩個模塊可以只實現為處理往返於伺服器500的全部通信的一個通信模塊。響應於由第二通信模塊506發送的請求,可以以一個或多個文件的形式接收數據。然後,可以將接收到的數據轉發到URI管理器505。然後,URI管理器可以使用高速緩存管理器208將接收到的內容的副本存儲在本地存儲器中。如果以後請求了同一個URI,甚至可能從不同的設備,則URI管理器505可以從高速緩存管理器508請求它。這與在設備上安裝的本地用戶代理執行的高速緩存相對應,如參考圖2所描述的,還對應於由代理伺服器執行的方法,如那些本領域技術人員所知道的。然後,URI管理器505可以將接收到的數據轉發到文檔管理器504。然後,文檔管理器可以以類似於參考圖2所描述的方式的方式處理數據,只是在此情況下,不一定將文檔呈現給顯示器。相反,可以將文檔呈現給虛擬存儲器。根據本發明的原理,可以將文檔呈現給一組繪製命令,例如,當被轉發到顯示器管理器或控制器時,每一個命令都在顯示器上劃一條線。根據本發明的某些實施例,這些命令可以是二進位格式,以便減少描述文檔的呈現所需的數據量。根據本發明的一個方面,首先通過一組繪製命令來描述文檔,該組繪製命令將全部圖像繪製為灰色矩形,或作為不需要傳輸大量數據的某種其他圖案。在將文檔的此描述傳輸到設備之後,可用另外的繪製命令來描述圖像,並可以指示顯示控制器在灰色矩形上繪製圖像。以此方式,在接收到所有圖像數據之前,可以在設備的顯示器上呈現大部分頁面。在根據本發明的此方面的一個實施例中,矩形不被呈現為灰色,而是代表相應的圖像的平均顏色的顏色。此外,還可以由文檔變碼器507分析文檔,以便標識諸如文本、圖像和超連結之類的元素的塊或框,以及它們在文檔的布局中的位置,如參考圖4所描述的。通過分析,可以產生代表預定義類型的內容的矩形或內容塊的列表。內容塊的位置可以被標識為,例如,代表矩形(內容塊)的兩個在對角線方向相對的角部相對於參考點(例如,整個文檔布局的左上角)的坐標。內容塊的列表可以,對於每一個塊,除其位置之外,還包括例如,該塊所包含的元素的類型(文本、圖像、超連結、表單元格等等)。如果該塊包含超連結,則還可包括 URI,或該URI —些表示或對URI的引用。根據本發明的某些實施例,可以實現各個規則,以便判斷哪些內容塊應該包括在該列表中。這樣的規則可以基於元素類型(例如,文本塊、圖像塊、表,以及所有塊(超連結塊)),文檔DOM樹中的位置,大小等等。文檔,無論它處於其原始形態,代碼轉換到繪製命令的序列、或以任何其他方式經代碼轉換,現在都與代表元數據的矩形的列表打包在一起。然後,可以將包括元數據的文檔數據從文檔管理器504轉發到通信模塊501。為了減少帶寬的使用,通信模塊501可以被配置成只傳輸文檔數據的一部分,選定的部分可以基於從發出請求的設備接收到的輸入, 包括描述顯示器大小和/或解析度的信息,並且用戶輸入代表在文檔的各部分的導航(滾動)°圖6示出了當代碼轉換伺服器從設備接收請求時該代碼轉換伺服器如何操作的流程圖。在第一步驟601中,由伺服器從設備接收請求。請求標識諸如,例如,網頁之類的資源。資源可以通過其URI來標識。在下一步驟602中,判斷發出請求的設備是否被授權與代碼轉換伺服器進行通信。此過程可以涉及與設備的另外的通信,例如,以便獲得用戶名和密碼,或數字證書。如果沒有獲得授權,則在步驟603中,由伺服器拒絕請求,伺服器返回以等待來自設備的下一請求。如果在步驟602中由授權模塊驗證了授權,則處理該請求,在下一步驟604中,指示第二通信模塊506發送HTTP或HTTPS請求,以從其中存儲了資源的伺服器(也被稱為 「始發伺服器」)獲取由URI所標識的資源。在步驟605中,由第二通信模塊506接收所請求的資源。接收到的資源可包括必須通過單獨的HTTP請求獲取的對另外的元素的引用,在這樣的情況下,另外的請求是由第二通信模塊506所發送的。在下一步驟606中,如上文所描述的,由文檔管理器504和文檔變碼器507執行虛擬呈現和代碼轉換。在步驟607中,經過代碼轉換的文檔可以組織為一組繪製命令,描述內容在頁面上的位置的矩形列表,包括它們在頁面上的位置的超連結以及它們引用的URI的列表。如上文所描述的,在繪製命令的流的初期,圖像可以被描述為帶有簡單顏色或圖案的矩形,例如,對於每一個圖像的平均顏色,而最後傳輸描述實際圖像的繪製命令。在步驟608中,將經過代碼轉換的文檔傳輸到發出請求的設備。接收經過轉換的數據的設備可包括能夠接收數據並在設備的顯示器上呈現文檔的用戶代理。用戶代理可以被配置為只訪問這種類型的數據,或者,它可以是一般瀏覽器類型的用戶代理,諸如圖2中所示出的那種,帶有處理根據本發明的原理經代碼轉換的文檔的必要的另外的功能。參考圖7,該圖示出了被配置成處理經過代碼轉換的文檔的用戶代理700,其中, 沒有在代碼轉換伺服器中實現的普通HTML/CSS處理功能。設備可包括用戶界面701和地址輸入欄位702。窗口管理器/輸入管理器703可以從地址輸入欄位702或從諸如指針或光標之類的任何用戶輸入設備接收用戶輸入。輸入管理器703通常能夠註冊指針在文檔中的位置(包括在內容矩形內的位置和到內容矩形的距離,如下面進一步描述的),以及與文檔中的超連結或其他輸入元件的交互。文檔管理器704與參考圖2所描述的對應的文檔管理器的不同之處在於,一般 HTML/CSS功能(以及諸如HTML/XML/CSS解析器、DOM模塊和布局引擎之類的相關聯的模塊)不必存在(但是,如所提及的,在實現本發明的用戶代理中存在此功能是符合本發明的原理的)。文檔管理器被配置成接收用戶輸入,在這樣的輸入代表對通過其URI標識的文檔的請求的情況下,將這樣的輸入轉發到URI管理器705。URI管理器705可以將請求轉發到通信模塊706,並在與參考圖2所描述的過程相對應的過程中從通信模塊706接收任何接收到的響應。用戶代理700還可使用存儲在本地存儲器中的高速緩存管理器708和文檔緩存 709來實現高速緩存。文檔管理器704還可以進一步被配置成從URI管理器接收文檔內容,並將接收到的繪製命令發送到顯示控制器715。顯示控制器715通過在用戶代理700的用戶界面內在設備的顯示器上繪製文檔的相關部分來作出響應。文檔通常大於用戶界面701的視口。文檔管理器704可以被配置成接收用戶輸入,該用戶輸入請求以多個縮放級別顯示,以便以給用戶提供大部分或整個文檔的概要的模式,以及以允許用戶以方便的解析度閱讀文本和查看圖像的模式來顯示文檔。根據本發明,一個或多個縮放級別可以基於作為內容矩形接收到的數據所包含的信息,支持滾動。如果文檔管理器接收到代表在特定方向滾動的請求的用戶輸入,文檔管理器可以指示顯示控制器715將繪製命令發送到屏幕,以便內容在所請求的方向滾動,直到內容矩形的邊緣沿著用戶界面701的視口的邊緣定位。根據本發明的原理,代表矩形內的「點擊」,但不與超連結或諸如輸入框之類的任何其他類型的特殊元素相關聯的用戶輸入,可以被解釋為滾動的請求,以便所標識的矩形被定位在用戶界面701的視口的左上角,或者,在一個方向滾動,以便將矩形的一個邊緣與視口的對應的邊緣對齊。如上文所提及的,輸入管理器703能夠跟蹤諸如滑鼠指針之類的指示設備的位置。根據本發明的某些實施例,可以將此位置與作為文檔的描述的一部分接收到的矩形的列表進行比較,矩形可以重疊或嵌入在其他矩形內,例如,可以將代表圖像的矩形完全定位在代表圖像所關聯的文章的文本塊的矩形內。如此,指針或光標可以同時在多個框內。這意味著,如果輸入管理器703接收到定義位於多個矩形內的位置的用戶輸入,必須制定確定應該將哪一個矩形與用戶界面703的視口對齊的規則。根據本發明的第一實施例,選擇最裡邊的矩形-本身不包含任何矩形的矩形。作為示例,假設由設備顯示圖4中所示出的文檔,如果用戶輸入定義了框405內的位置,它也一定在框404、框402和框400內。然而, 框405是最裡邊的矩形,根據本發明的此實施例,視口 408和文檔可以相對於彼此移動,以便欄405和對應的文本塊305與視口 408對齊。類似地,如果指針在框407內,則它不是文本305的右欄,而是選擇的圖像306。可另選地,或另外地,用於當一個位置在一個以上的矩形內時選擇一個矩形的規則也是可能的。一個替代方案是基於諸如文本、圖像表等等之類的與矩形相關聯的元素的類型,提供優先級。另一替代方案是基於那裡實現的規則,在代碼轉換伺服器中指定優先級,並在設備上的用戶代理中選擇帶有最高優先級的矩形。圖8是概述了如何作為安裝在設備上的用戶代理的一部分來實現根據本發明的方法的一個示例性實施例的流程圖。在第一步驟801中,用戶代理700接收文檔。文檔可以作為對來自用戶代理的以前發出的請求的響應而接收,例如,因為用戶點擊了超連結,在地址輸入欄位702中輸入URI,或用戶從收藏夾(書籤)列表中作出選擇。在下一步驟802中,用戶代理根據從代碼轉換伺服器接收到的繪製命令,繪製置於用戶界面701的視口的頁面,或頁面的至少一部分。然後,用戶代理等待可以在步驟803中接收到的用戶輸入。根據此特定示例,用戶代理在下一步驟804中判斷用戶輸入是否定義了用戶希望滾動的方向。如果是這種情況, 則在從代碼轉換伺服器接收到的矩形的列表中執行805搜索,直到標識了在滾動輸入方向的第一矩形。然後,在步驟813中,將視口與搜索中標識的矩形對齊。然後,方法可以返回到步驟803,並等待另外的用戶輸入。如果輸入沒有標識方向,則在步驟806中用戶代理判斷輸入是否標識文檔中的位置。如果判斷輸入確實代表一個位置,則在步驟807中判斷該位置是否與一個超連結相關聯。如果是這種情況,則過程移到步驟808,在該步驟中,將對與該超連結相關聯的文檔的請求傳輸到代碼轉換伺服器,然後,過程返回到步驟801。如果輸入代表一個不與一個超連結相關聯的位置,則過程移到步驟809,在該步驟中,執行搜索,以便標識包含已標識的位置的矩形。如上文所描述的,可以實現各種規則,以便判斷確定在該位置在多個重疊的或嵌套的矩形內的情況下要選擇哪一個矩形。在選擇了適當的矩形之後,在步驟813中,將視口與已標識的矩形對齊。同樣,如上文所討論的,可以實現如何對齊矩形和視口的各種規則。在步驟813之後,方法可以返回到步驟803,並等待另外的用戶輸入。如果在步驟806中判斷輸入沒有標識位置(也沒有標識已經在步驟804中確定的方向),則在步驟810中判斷輸入是否代表改變縮放級別的請求。如果是這種情況,則在步驟811中執行矩形列表中的搜索,以便標識在改變縮放級別之後要與視口對齊的矩形。應該理解,在某些實施例中,改變縮放級別的請求可包括要放大(或縮小),在這樣的情況下, 這必須在步驟806中確定。基於在步驟811中進行的判斷,執行縮放操作,例如,通過改變文檔的已呈現的部分的解析度,並根據適當的規則將視口與在步驟813中標識的矩形對齊。然後,方法可以返回到步驟803,並等待另外的用戶輸入。如果在步驟810中判斷請求不是縮放級別更改請求,則用戶代理功能的某個其他部分佔優勢,並在步驟812中執行用戶請求的任何動作,如將文本寫入到輸入欄位中,顯示菜單,改變屏幕的朝向等等。然後,過程可以返回到步驟803,並等待另外的用戶輸入。必須理解,參考圖8的討論只是一個示例,本發明可以利用其他測試來實現,以確定用戶輸入的特徵或不同的步驟序列。根據本發明的一個方面,對應該與視口的邊緣或角部對齊的矩形的邊緣或角部的選擇不會導致要顯示的文檔的所產生的部分的立即重繪。這將導致從文檔的一個部分到另一部分不連續的跳躍,這會使用戶產生混淆。作為替代,可以通過計算沿著開始和結束之間的路徑的中間部分來創建滾動式移動,即從當接收到用戶輸入時顯示的部分到顯示選擇的新部分的移動。這將給用戶提供他或她如何在文檔中導航的明確指示,將使返回到文檔的其他部分更加容易。將對矩形的選擇與縮放級別變化組合起來也符合本發明的原理。在此情況下,如果用戶選定放大或縮小,可以基於在縮放操作之後其與視口的邊緣的接近度,來選定矩形, 可以以與上文參考滾動或點擊所描述的方式同樣的方式,調整視口的位置以與所選矩形對齊。同樣,縮放操作還可能涉及類似於中間滾動位置的中間縮放級別,以便幫助提供關於他或她如何導航文檔的用戶信息。縮放操作還可通過也標識文檔中的位置的用戶輸入來啟動。如果此位置在列出的矩形內,在縮放級別改變之後,可以選擇此矩形作為要與視口對齊的矩形。用戶代理還可被配置成僅僅因為指針在一個元素上盤旋而執行某些動作。根據本發明的原理的一個示例是,用邊界或不同的背景顏色來表示矩形,或者,如果指示設備位於矩形內並且矩形與超連結相關聯,用使矩形離開頁面的其餘部分的某種其他方法。在沒有指針類型的輸入設備的情況下,對矩形的選擇可能更加複雜,但是,可以根據本發明實現若干種方案,諸如從一個矩形移到另一個矩形的鍵盤或遊戲杆輸入。在某些實施例中,可以將元素定義為跨越多個矩形,或換言之,可以使多個矩形相關聯,以便如果選擇了一個,則選擇全部。將結果視為具有與矩形不同的形狀的區域,但是, 可以以同樣的方式實現用於將矩形與視口對齊的規則。這樣的矩形組合可以主要用於指出,超連結橫跨沒有均勻右邊距的多行文本,或者多個元素(例如,圖像和文本連結)引用同一個URI。所討論的各個示例和各實施例只是示例性的,不應該被解釋為對在所附權利要求書中所定義的本發明的範圍的限制。
權利要求
1.一種用於文檔代碼轉換的方法,包括接收包括結構化元素列表的標記語言文檔;基於所述文檔的結構,生成代表所述文檔的布局的虛擬呈現;從所述虛擬呈現標識一個或多個元素塊,每個元素塊包含至少一個所述元素;以及生成代表所述標記語言文檔的數據,並且所述數據包括所述元素塊的第一列表以及它們在所述布局中的位置。
2.如權利要求1所述的方法,還包括將代表所述標記語言文檔的所述數據(包括標識的塊以及它們的位置的所述列表)傳輸到設備,所述設備包括能夠根據所述布局向所述設備的屏幕呈現所述文檔的瀏覽器。
3.如權利要求1所述的方法,其中,所述接收步驟包括發送HTTP或HTTPS請求和接收 HTTP 或 HTTPS 響應。
4.如權利要求1所述的方法,其中,所述生成所述文檔的虛擬布局包括向設備的顯示控制器生成指令,所述指令允許所述顯示控制器在所述顯示器上繪製所述布局的表示。
5.如權利要求4所述的方法,其中,代表所述標記語言文檔的所述數據包括至少一個所述指令的子集。
6.如權利要求1所述的方法,其中,所述元素塊是文本塊。
7.如權利要求1所述的方法,其中,所述塊是矩形,並且所述位置是由至少兩對坐標定義的。
8.如權利要求1所述的方法,其中,所述接收到的標記語言文檔包括對其他文檔的一個或多個引用,所述方法還包括從所述虛擬呈現標識一個或多個引用塊,每個引用塊都包含對另一文檔的引用;以及所述數據包括所述標識的引用塊以及它們在所述布局中的位置的第二列表。
9.如權利要求8所述的方法,其中,所述引用是超連結。
10.如權利要求1所述的方法,其中,所述標記語言是HTML、XHTML或XML。
11.一種用於在設備上顯示文檔的方法,包括接收代表帶有結構化元素列表的標記語言文檔的數據,所述數據包括一個或多個元素塊以及它們在所述標記語言文檔的布局中的位置的第一列表,每個這樣的元素塊都包含至少一個所述元素;在所述文檔內選擇一個位置或方向;分析所述文檔的布局,以便基於所述位置或方向來選擇至少一個所述元素塊;以及在所述設備的顯示器上呈現所述標記語言文檔的至少一部分,如此選擇所述部分,以便給所述標識的元素塊提供所述顯示器上的預定義的位置。
12.如權利要求11所述的方法,其中,代表標記語言文檔的所述數據包括允許所述設備的顯示控制器在所述顯示器上繪製所述布局的表示的指令,而所述呈現包括向所述顯示控制器發送與所述部分相關聯的所述指令的至少一個子集,
13.如權利要求11所述的方法,其中,所述元素塊是文本塊。
14.如權利要求11所述的方法,其中,所述塊是矩形,並且所述位置是由至少兩對坐標定義的。
15.如權利要求11所述的方法,其中,所述接收到的數據還包括一個或多個引用塊以及它們在所述標記語言文檔的所述布局中的位置的第二列表,每個這樣的引用塊都包含至少一個對另一文檔的引用。
16.如權利要求15所述的方法,其中,所述引用是超連結或超連結的表示。
17.如權利要求11所述的方法,其中,所述標記語言是HTML、XHTML或XML。
18.如權利要求11所述的方法,其中,所述位置或所述方向是基於從所述設備的用戶界面接收到的用戶輸入來選擇的。
19.一種被配置成執行如權利要求1-10中的一個權利要求所述的方法的伺服器。
20.一種被配置成執行如權利要求11-18中的一個權利要求所述的方法的設備。
21.在計算機可讀介質上體現的,並包括允許伺服器執行如權利要求1-10中的一個權利要求所述的方法的指令的電腦程式產品。
22.在計算機可讀介質上體現的,並包括允許設備執行如權利要求11-18中的一個權利要求所述的方法的指令的電腦程式產品。
全文摘要
由一種方法轉換包括結構化元素列表的接收到的標記語言文檔,該方法包括分析文檔的結構,生成文檔的布局的虛擬呈現,並標識一個或多個矩形,每個矩形都包含來自虛擬呈現的至少一個元素。生成代表標記語言文檔的數據,包括矩形以及它們在布局中的位置的列表。如此經過代碼轉換的文檔可以顯示在接收所生成的數據的設備上。當選擇文檔內的一個位置或方向時,這樣的設備可以分析文檔的布局,以基於該位置或方向,選擇至少一個矩形。然後,設備可以顯示選定的文檔的至少一部分,以便給所標識的矩形提供顯示器上的預定義的位置。
文檔編號G06F3/048GK102177515SQ200980131611
公開日2011年9月7日 申請日期2009年6月19日 優先權日2008年6月19日
發明者J·舒昂, P·海德伯 申請人:Opera軟體股份公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀