TWI521357B - 經由網頁瀏覽器輸入內容至應用程式 - Google Patents

經由網頁瀏覽器輸入內容至應用程式 Download PDF

Info

Publication number
TWI521357B
TWI521357B TW099103386A TW99103386A TWI521357B TW I521357 B TWI521357 B TW I521357B TW 099103386 A TW099103386 A TW 099103386A TW 99103386 A TW99103386 A TW 99103386A TW I521357 B TWI521357 B TW I521357B
Authority
TW
Taiwan
Prior art keywords
application
component
input method
mediator
url
Prior art date
Application number
TW099103386A
Other languages
English (en)
Other versions
TW201128404A (en
Inventor
吉田航太郎
Original Assignee
微軟技術授權有限責任公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 微軟技術授權有限責任公司 filed Critical 微軟技術授權有限責任公司
Publication of TW201128404A publication Critical patent/TW201128404A/zh
Application granted granted Critical
Publication of TWI521357B publication Critical patent/TWI521357B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Description

經由網頁瀏覽器輸入內容至應用程式
本發明是關於經由網頁瀏覽器輸入內容至應用程式。
第三方程式要求輸入法具有外掛功能,以使輸入法可將第三方組件加入到輸入系統,以擴充在特定情境中的輸入體驗。在移動輸入法核心二進制之後,這可進一步輔助擴充性以加入更多的輸入特徵作為服務。這種外掛組件需要有使用者介面(UI)的外觀和行為以與後端資料源溝通,後端資料源可在本地電腦或遠端伺服器。此外,這些外掛組件在有新版本時可用時需可下載、易安裝和適當更新。
下面簡要介紹簡化之概要,以提供對本文所述一些新穎實施例的理解。此「發明內容」並非廣泛的總結概述,且它並非欲以識別關鍵/重要元件或界定其適用範圍。它的唯一目的是以簡化的形式提供一些觀念作為後呈之更加詳細描述的前言。
本揭示架構允許標記語言(例如HTML)頁面輔助插入內容(例如文字)至輸入法所附加至之應用程式中。如此一來,外掛程式開發人員可使用網頁語言(例如HTML)來實現任何UI外觀和行為、與後端資料源(如正規HTML網頁)溝通、並可使用任何合適技術來執行。因為網頁是儲存於網頁伺服器中且即時下載至客戶端,所以安裝度極小且使用者可自動使用最新的版本。
在一實施例,中介者組件是實現為從嵌入在網頁的HTML中的編碼接收指令。客戶端瀏覽器(或其他適於處理網頁的應用程式)接收網頁、執行嵌入在HTML的編碼(例如JavaScript之類的腳本)。因此,中介者組件可藉URL協定處理器的機制自HTML網頁中的編碼引動。此外,中介者組件可作為客戶端系統的一部分來安裝。
舉例來說,外掛程式開發人員想要實現輸入法外掛組件以將軟體鍵盤功能加入至輸入法及/或相關的應用程式。開發人員可以編碼撰寫HTML網頁,以顯示從「a」到「z」的按鍵。當使用者開啟HTML網頁並選擇頁面上的按鍵時,對應的字元會插入到在客戶端電腦執行的應用程式。由於它是HTML網頁,開發人員可依所欲之外觀來任意地佈局按鈕。隨後,當選擇要加入更多功能至外掛程式(例如增加更多的按鈕來插入字而非字元)時,開發人員只需更新在網路伺服器上的HTML網頁。使用者將透過例如客戶端瀏覽器自動地收到新版本(更新)。
為達前述和相關目的,本文結合下面的說明和隨附圖式來描述某些說明態樣。這些態樣是指示本文揭示原則可實行的多種方式。所有其態樣及其均等物意欲落於申請專利標的之範圍內。連同圖式一起理解下述「實施方式」將使其他的優點和新穎特徵變得更為明顯。
本揭示架構允許標記語言(例如HTML)頁面輔助插入內容(例如文字字串、物件、音頻、視頻等)至輸入法所附加至之應用程式中。如此一來,外掛程式開發人員可使用網頁語言(例如HTML)來實現任何UI外觀和行為、與後端資料源(如正規HTML網頁)溝通、並可使用任何合適技術來執行。因為網頁是儲存於網頁伺服器中且即時下載至客戶端,所以安裝度極小且使用者可自動使用最新的版本。
中介者組件是實現在客戶端並接收自執行嵌入在網頁的標記語言中之編碼所得的資料。藉增加額外的中介者組件至客戶端系統,可容納更多的資料類型於客戶端系統以用於對應的客戶端應用程式。
現在參照圖式,相同參考標號係指相同元件。在下面的描述中,為達解釋之目的,詳載許多具體細節以提供全面理解。然而,新穎的實施例可在沒有這些具體細節下實施。在其他情況下,公眾知悉的結構和裝置係繪示於方塊圖形式中,以輔助其描述。意欲涵蓋所有落入所請求標的之精神和範圍內的修改、均等物、及另外選擇。
圖1繪示根據本文所揭示架構之一種電腦實現之內容系統100。系統100包括輸入法組件102,附加到應用程式104,用於提供應用程式104基線輸入法功能,及中介者組件108,用於接收網頁文件112的資料110,網頁文件112是加入資料110提供之額外功能114(例如輸入法功能)所得,額外功能114是透過處理網頁文件112中的嵌式碼116來間接提供給應用程式104。
網頁文件112可以是包括嵌式碼116的網頁,當執行嵌式碼116時產生資料110。嵌式碼116可以任何合適的程式語言(例如腳本語言)來撰寫並嵌入在如HTML之標記語言中。網頁文件112可儲存在網路伺服器並下載到客戶端瀏覽器118,其處理嵌式碼116或可致使嵌式碼116之處理,以產生資料110,並因此產生額外的輸入法功能114。
一般來說,網頁文件112根據使用者與網頁文件112的互動來輔助應用程式104的額外功能114的自動補充(如資料110)。額外功能114產生的產品(例如文字、圖像等)會提供給應用程式104。中介者組件108可使用URL協定處理器機制從網頁文件112來引動。額外功能114包括文字或複物件之至少一者,複物件例如為圖像、音頻及/或視頻。
換句話說,電腦實現之內容系統100包括輸入法組件102及中介者組件108。輸入法組件102與應用程式104相關連,用於提供應用程式104基線輸入法功能;中介者組件108與輸入法組件102相關連,用於接收來自輸入法組件102的通知,中介者組件108以自網頁(例如網頁文件112)中的編碼116所產生的資料的形式來提供應用程式104額外功能114。
中介者組件108自處理網頁中的編碼之瀏覽器接收資料110。額外功能114是當瀏覽器118執行網頁中召用中介者組件108的編碼116時從資料110所產生。中介者組件108接收與輸入法組件102相關連的識別符。中介者組件108登錄識別符並根據所登錄之識別符繞送資料110。中介者組件108輔助一特定資料類型之資料110的利用。此外,中介者組件108輔助資料110以字元、字、片語、或複物件之至少一者之形式分錄至應用程式104,應用程式104是語言學應用程式。
圖2繪示組件與實體間之溝通的流程圖200,該溝通可透過網頁文件來輔助內容輸入。應用程式104可為在客戶端電腦上執行的程式,且輸入法組件102是附加到應用程式104。中介者組件108可為安裝並執行於客戶端電腦的本機碼。在這個例子中,流程圖200繪示網頁文件是HTML網頁202,其可由外掛程式開發人員所建立。HTML網頁202包括圖1的嵌式碼116,其係例如以腳本語言所撰寫,致使當瀏覽器執行編碼116時所產生的資料形成額外的輸入法功能,而由輸入法組件102提供給應用程式104。注意到可使用其他的技術來撰寫嵌入到HTML中的程式碼。
外掛程式開發人員可開發中介者組件108並可讓使用者安裝中介者組件108於本地客戶端電腦上。當某些事件發生在輸入法組件102時,中介者組件108自輸入法組件102接受通知204。此外,URL協定處理器206可從HTML網頁202引動中介者組件108。
資料流可為單向的,從網頁瀏覽器中的網頁文檔到中介者組件、到輸入法組件、最後到應用程式。中介者組件使用識別符(也稱為權證或訊標)識別發送資料至哪個輸入法組件實例。中介者組件事先知道輸入法組件的識別符。識別符可從輸入法組件被推到中介者組件。
在一實施例中,每當應用程式獲得使用者互動聚焦時(或應用程式的視窗移為前景時),與應用程式關連的輸入法組件將它的識別符(也稱為事件通知)推到中介者組件。每個附加到任何應用程式的輸入法組件可在任何時候將它的識別符推到中介者組件。中介者組件記得最後登錄的識別符。
在任何時候(當沒有與自輸入法組件推到中介者組件的事件同步時),可從網頁文件召用中介者組件。當中介者組件被召用時,中介者組件使用最後登錄的識別符來確定相關連的輸入法組件實例。
事先可以任何可能的方式將網頁文件開啟於網頁瀏覽器中,例如回應於自最愛的URL選單中之選擇,輸入法組件使用已開啟之特定網頁文件來啟動網路瀏覽器。等一旦開啟,網頁文件可服務所有的輸入法組件實例。因此,輸入法組件實例和網頁文件並不一定是1比1的比例。例如,呈現在桌面上之軟體鍵盤的單一實例可用於任何想要的應用程式或多個應用程式。
在操作時,當特定事件發生時,輸入法組件102發送通知204(識別符)到中介者組件108。中介者組件108在被這些事件觸發的情況下,可引動HTML網頁202,也可不引動HTML網頁202。這些事件包含「權證」(ticket)資訊。權證資訊可為應用程式104的操縱(handle)、輸入法組件102的COM(組件物件模型,component object model)介面指標、或中介者組件108以後可用來處理合適的應用程式(應用程式104)及/或輸入法的其他機制。換句話說,客戶端電腦可就特定目的來採用多種不同的輸入法組件和相容的中介者組件。本文的實施例還描述單一輸入法組件與多個中介者組件的情境,或每個客戶端應用程式有不同的合適中介者的情境。
HTML網頁202可於網頁瀏覽器中開啟並由瀏覽器呈現。開發人員可撰寫任何想要的HTML網頁。使用適當的參數從HTML網頁202召用已登錄的URL協定處理器206。作為回應,中介者組件108會啟動,並從HTML網頁202接收參數。由於中介者組件108知道權證資訊(連同通知204發送),中介者組件根據通知206中所收到的權證資料,與應用程式104和輸入法組件102溝通以增加得自HTML網頁202之資料的額外輸入法功能208。
一旦中介者組件108安裝在客戶端電腦上,開發人員可藉改變或改進嵌入於儲存在網路伺服器中的HTML網頁202的編碼來改變或改進輸入法組件的功能;也就是說,對客戶端電腦並未進行任何更新。這提供了一種自動更新和部署額外功能的方便有效架構。
注意到提供給應用程式104的內容不限於文字內容。以最簡單的形式與最簡單的中介者組件的情況下,內容可以是文字字串。在較複雜的實施中,當從HTML網頁202召用中介者組件108時,中介者組件108可設計為發送元資料到特定的應用程式,且應用程式104於回應接收到元資料時,可將複物件(如圖像)插入到其本身。基本上是基於應用程式104與中介者組件108之間的「合約」。如前所述,可就特定目的來採用多種不同的中介者組件。因此,許多不同的資料類型可被增加到使用者系統。
HTML和網頁瀏覽器技術的使用已經存在於伺服器端。當使用腳本於網頁伺服器的HTML中且當使用者瀏覽網頁時,HTML網頁從伺服器下載到客戶端瀏覽器。客戶端瀏覽器上執行嵌入式腳本碼來產生資料。因此,使用者不需要安裝客戶端,只需開啟伺服器中的HTML網頁。中介者組件可作為本機編碼安裝在客戶端。每當客戶端從伺服器下載對應的更新網頁文件時,之前在網頁文件下載至客戶端瀏覽器的程式碼可自動更新。
中介者組件定義資料類型。一旦定義了資料類型並安裝了相關連的中介者組件,中介者組件通常不需要經常更新。但是,該資料類型的資料可不同,且該資料類型之資料的產生器(編碼於網頁中)可動態改變。因此,既然產生器是以例如儲存於伺服器端的標記語言(如HTML)和腳本語言(如JavaScript)來描述,資料產生器可以很容易改變。如前所述,標記語言不限制於HTML,其可為可呈現在瀏覽器中的合適技。
作業系統中可善加利用的一功能是URL協定處理器。此技術可將URL映射到可執行檔(exe檔)。例如,URL可有以「http:」、「mailto:」、或「ftp:」等開頭的格式字串。作業系統可包括用於傳遞該字串、檢查字串前綴、並傳遞控制到登錄的應用程式可執行檔的機制。例如,如果URL的開頭是「http:」,則作業系統將啟動瀏覽器的可執行檔。在另一個例子中,如果URL字串的開頭是「mailto:」,則作業系統將啟動訊息傳遞程式(如電子郵件)。
作業系統還可包含一種可讓中介者組件擴充此功能的特徵,以使任何前綴字串可以與任何可執行檔相關連的方式來登錄和定義。這個機制是用來登錄所欲之前綴字串至中介者組件。
在HTML網頁中,當使用者啟動具有前綴的URL時,作業系統啟動登錄的中介者組件可執行檔。當中介者組件被引動時,中介者組件使用命令行參數接收整個以前綴開頭的URL字串。舉例來說,如果HTML網頁包含一些<prefix>:xyz,其中<prefix>可為「http」、「ftp」、「mailto」等,然後中介者組件在命令行參數接收字串<prefix>:xyz。如果每一HTML網頁想要傳遞字串「xyz」給中介者組件,HTML網頁包括<prefix>:xyz。然後中介者組件被啟動並接收字串<prefix>:xyz,因此中介者組件可藉移除已知的<prefix>:部分來擷取字串「xyz」。
當中介者組件接收到字串「xyz」,中介者組件和應用程式利用協定來發送和接收該字串。一種可利用的非常基本協定為WM_CHAR(用於WindowsTM作業系統),用來從一視窗發送字元到另一視窗。如果中介者組件發送WM_CHAR訊息到應用程式(如WM_CHAR參數x、接著是WM_CHAR參數y、及WM_CHAR參數Z),則應用程式接收到鍵盤輸入「x」、接著是「y」、接著是「z」。因此,所有的應用程式可在接收到該訊息進行處理,並輸入「xyz」到應用程式正在處理的的文件中。這是一種基本的中介者模型。因此,如果想要的話,許多不同的中介者組件可以不同的協定登錄並實現。
在更先進的中介者模型中,圖片、影像、圖像、聲音等可被推到應用程式。在這種情況下,使用者應用程式和中介者組件可採用預定義的私有協定來最佳化操作。在較為特定的實施中,可為特定的客戶端應用程式發展客製的中介者組件。
可以有許多應用程式在客戶端機器上,且每個應用程式以附加的輸入法組件操作,但中介者組件是單一實例。輸入法組件傳送訊號點中介者組件,指示了中介者組件將發送訊息至那個應用程式。當使用者在許多可能的應用程式中之一者按下按鍵時,輸入法組件記得與使用者互動的應用程式,並將該應用程式的作業系統操縱發送至中介者組件。此後,中介者組件使用該操縱來發送訊息。這只是一個例子,其他的方法也可用來識別訊息所發送至之應用程式。
本揭示架構特別適用於未正規呈現字元於合適之鍵盤上的語言(如日語、中文、阿拉伯文、拉丁文等)。在另一實施中,本揭示架構可藉輸入裝置(如滑鼠、鍵盤等)輔助之單一選擇來插入文字及/或片語,這種方式可能無法透過鍵盤達到。
圖3繪示用於增加額外功能至應用程式的第一客戶端配置300。例如,在第一客戶端配置302,第一輸入法組件304與第一應用程式306一起使用以利用由第一輸入法組件304提供之基線輸入法功能。在任何時間點,第一輸入法組件304透過給第一中介者組件308的通知將識別符登錄到第一中介者組件308。於起始時,第一網頁310召用第一中介者組件308。第一網頁310包括嵌式碼312,以程式語言(如JavaScript)撰寫,並嵌入於標記語言如HTML中。另外,可使用其他合適的網頁文件語言。
客戶端瀏覽器從儲存許多不同用途之網頁的網路伺服器(未繪示)下載第一網頁310。第一網頁310是開啟於客戶端瀏覽器中,且客戶端瀏覽器執行嵌式碼312。碼312的執行會輸出資料,資料是透過協定處理器傳遞到第一中介者組件308。第一中介者組件308將資料繞送至第一應用程式306,以增加用於插入的第一額外輸入法功能310並用於第一應用程式306。
圖4繪示用於增加額外功能至應用程式的第二客戶端配置400。在此,單一中介者組件402支援客戶端機器上用於兩應用程式的資料類型和兩對應的輸入法組件。第二輸入法組件404與第二應用程式406相關連(例如以附加的方式),第三輸入法組件408與第三應用程式410相關連(例如以附加的方式)。第二輸入法組件404和第三輸入法組件408登錄(發送通知)中介者組件402,最後登錄者為有效應用程式(例如在前景與使用者互動者)。
繪示了兩個網頁412:第二網頁414和第三網頁416。當客戶端瀏覽器下載並處理第二網頁414時,瀏覽器執行嵌式碼418,其導致中介者組件402被召用。客戶端瀏覽器執行編碼418會產生之資料會傳遞給中介者組件402,根據最後登錄的輸入法組件(例如第二輸入法組件404)繞送該資料作為額外的應用程式功能。例如,從第二網頁414傳遞來的資料可作為額外的應用程式功能422而發送至第二應用程式406。
類似地,當客戶端瀏覽器下載並處理第三網頁416時,瀏覽器執行嵌式碼420,其導致中介者組件402被召用。客戶端瀏覽器執行編碼420會產生之資料會傳遞給中介者組件402,根據最後登錄的輸入法組件(例如第三輸入法組件408)繞送該資料作為額外的應用程式功能。例如,從第三網頁416傳遞來的資料可作為額外的應用程式功能424而發送至第三應用程式410。
本架構也考慮到中介者組件可開發以支援單一輸入法組件(例如,第二輸入法組件404),及兩客戶端應用程式。應用程式(406和410)及相關連的輸入法組件(404和408)是基於客戶端的應用,中介者組件402亦同。網頁(414和416)是基於伺服器的,用以方便和有效的更新部署。
本案包括一組用於執行本揭示架構之新穎態樣的代表範例方法。為達便於解釋之目的,本案繪示之一或多個方法(例如以流程圖或流程表之形式)是以一系列的動作繪示和描述,應理解這些方法並不限於動作的順序,因此,一些動作可以與本文所繪示和描述不同的順序發生及/或同時發生。例如熟習此技術領域者將理解到一種方法可表示為一系列相互關聯的狀態或事件,例如以狀態圖表示。此外,新穎的實施並非必須包括所有在此說明的動作。
圖5繪示一種透過瀏覽器將內容輸入到應用程式的內容方法。在500處,提供基線輸入法功能給一應用程式。在502處,存取一網頁,其包括與額外的應用程式功能有關的嵌式碼。在504處,執行網頁中的嵌式碼,以獲得額外的應用程式功能。在506處,將額外的應用程式功能增加到應用程式中。
圖6繪示圖5之方法的額外態樣。在600處,以腳本語言描述嵌式碼並將其嵌入在網頁的標記語言中。在602處,更新網頁的嵌式碼以用於後續的執行,並根據更新的嵌式碼將更新的額外應用程式功能應用到應用程式中。在604處,登錄提供中介者組件基線輸入法功能之輸入法,並透過中介者組件根據登錄將額外應用程式功能繞送到應用程式。
圖7繪示圖5之方法的額外態樣。在700處,回應於與網頁之互動,自動增加額外的應用程式功能到應用程式。在702處,在多個應用程式間使用追蹤資訊來追蹤與應用程式的互動。在704處,以一通知發送追蹤資訊給中介者組件。在706處,根據該追蹤資訊,增加額外的應用程式功能到對應的應用程式。
本申請案中使用之「組件」和「系統」係意指與電腦有關的實體,可為硬體、軟體和硬體之結合、軟體或執行中之軟體。例如組件可以是,但不限於,在處理器上執行的程序、處理器、硬碟驅動器、多種儲存驅動器(光學、固態及/或磁性儲存媒體)、物件、可執行檔、執行緒、程式及/或電腦。透過這樣的說明,在伺服器上執行的應用程式或是伺服器都可以是組件。一或多個組件可常駐於程序及/或執行緒內,且一組件可定位於一電腦上及/或分散在兩個或更多的電腦上。詞語「範例」在此處可指例子、實例、或說明。任何此處描述為「範例」的態樣或設計並非一定要解釋為較佳或優於其他的態樣或設計。
現在參照圖8,其繪示根據本文所揭示架構之一種計算系統700的方塊圖,該計算系統輔助將內容透過瀏覽器輸入至應用程式。為了提供多種態樣的額外情境,圖8及下面的討論是為了提供實現多種態樣之合適電腦系統800的簡略概括描述。雖然上面的描述是可在一或多個電腦上執行之一般情況的電腦可執行指令,熟習此技術領域者毀理解新穎的實施例也可與其他程式模組結合來實現,及/或以硬體和軟體之結合來實現。
實現多種態樣的計算系統800包括具有處理單元804、系統記憶體806、及系統匯流排808的電腦802。處理單元804可以是任何各種市面上有的處理器,例如單處理器、多處理器、單核心單元和多核心單元。此外,熟習此技術領域者將理解到新穎的方法可以其他電腦系統配置實行,包括迷你電腦、大型電腦、以及個人電腦(例如桌上型電腦、膝上型電腦等)、手持計算裝置、基於微處理器的或可程式的消費性電子裝置,前述每者可操作耦合至一或多個相關連的裝置。
系統記憶體806可包括揮發性記憶體810(如隨機存取記憶體(RAM))和非揮發性記憶體812(如ROM、EPROM、EEPROM等)。基本輸入/輸出系統(BIOS)可儲存在非揮發性記憶體812,並包括基本常式,輔助電腦802內組件間之資料和訊號的傳遞(例如在啟動期間)。揮發性記憶體810也可包括高速RAM,例如用於快取資料的靜態RAM。
系統匯流排808提供用於系統組的介面,包括但不限於,記憶體次系統806到處理單元804。系統匯流排808可以是數個匯流排結構類型的任何者,系統匯流排808可使用任何各種市面上有的匯流排架構進一步連接到記憶體匯流排(有或沒有記憶體控制器皆可)及週邊匯流排(如PCI、PCIe、AGP、LPC等)。
電腦802還包括儲存次系統814和儲存介面816,用以作為儲存次系統814與系統匯流排808和其他所欲之電腦組件的介面。儲存次系統814可包含一或多個硬碟驅動器(HDD)、軟磁碟驅動器(FDD)、及/或光碟儲存驅動器(例如CD-ROM驅動器、DVD驅動器)。儲存介面816可包括如EIDE、ATA、SATA和IEEE 1394的介面技術。
一或多個程式和資料可儲存在記憶體次系統806、可移除記憶體次系統818(例如,快閃驅動器形式的技術)、及/或儲存次系統814(如光學、磁性、固態),前述三者包括作業系統820、一或多個應用程式822、其他程式模組824、程式資料826。
一或多個應用程式822、其他程式模組824、及程式資料826可包括例如輸入法組件102、應用程式104、基線輸入法功能106、中介者組件108、額外功能114、資料110、瀏覽器118、圖1的網頁文件112和嵌式碼116、圖2的組件和實體、圖4的組件和實體、及圖5-7的方法中所描述的一或多個動作。
一般來說,程式包括常式、方法、資料結構、其他軟體組件等,其執行特定任務或實現特定的抽象資料類型。作業系統820、應用程式822、模組824及/或資料826的全部或部分也可快取在如揮發性記憶體810的記憶體中。請理解本揭示架構可以各種市面上有的作業系統或作業系統的組合(例如虛擬機)來實現。
儲存次系統814和記憶體次系統(806和818)作為電腦可讀取媒體,用於資料、資料結構、電腦可執行指令等之揮發性和非揮發性儲存。電腦可讀取媒體可為任何可由電腦802存取的可用媒體,並包括揮發性和非揮發性媒體、可移除和不可移除媒體。對電腦802而言,媒體容納任何合適之數位格式的資料儲存。熟習此技術領域者應該理解到,可採用其他類型的電腦可讀取媒體(如壓縮磁碟、磁帶、快閃記憶卡、盒式磁帶等),用於儲存執行本揭示架構之新穎方法的電腦可執行指令。
使用者可使用外部使用者輸入裝置828如鍵盤和滑鼠與電腦802、程式、及資料進行互動。其他外部使用者輸入裝置828可包括麥克風、紅外線遙控、操縱桿、遊戲墊、攝影識別系統、電筆、觸控螢幕、姿態系統(如眼球的移動、頭部的移動等)。使用者可使用機載(onboard)使用者輸入裝置830如觸控板、麥克風、鍵盤等與電腦802、程式和資料互動,其中電腦802例如可為可攜式電腦。這些和其他輸入裝置經由系統匯流排808透過輸入/輸出(I/O)裝置介面832連接到處理單元804,但可藉其他介面來連接,例如平行埠、IEEE 1394串行埠、遊戲埠、USB埠、紅外線介面等。I/O裝置介面832也有利於輸出週邊裝置834(如印表機、音頻裝置、照相裝置等等)的使用,例如音效卡及/或機載音頻處理功能。
一或多個圖形介面836(通常也稱為圖形處理單元(GPU))提供電腦802與外部顯示器838(如液晶顯示器、電槳顯示器)之間及/或與機載顯示器840(如用於可攜式電腦)之間的圖像和視頻訊號。圖形介面836也可作為電腦系統板的一部分。
電腦802能夠在網路環境(例如IP)中操作,其透過有線/無線通訊次系統842使用邏輯連接到一或多個網路及/或其他電腦。其他電腦可包括工作站、伺服器、路由器、個人電腦、基於微處理器的娛樂裝置、同級裝置或其他常見的網路節點、且通常包括許多或所有相對於電腦802來描述的元件。邏輯連接可包括到本地區域網路(LAN)、廣域網路(WAN)、熱點等的有線/無線連接。本地區域網路和廣域網路的網路環境常見於辦公室和公司並輔助整個企業的電腦網路(如企業內網路),所有前述網路都可連接到全球性的通訊網路如網際網路。
在網路環境中使用電腦802時,電腦802透過有線/無線通訊次系統842(例如網路介面適配器、機載收發器次系統等)連接到網路,以與有線/無線網路、有線/無線印表機、有線/無線輸入裝置844等通訊。電腦可包含802數據機或具有其他用於建立網路通訊的構件。在網路環境中,相對於電腦802的程式和資料可儲存在遠端記憶體/儲存裝置中,就像與分散式系統關連般。應理解到,所繪示的網路連接僅是作為範例,也可以使用其他建立電腦之間通訊連接的手段。
電腦802可使用諸如IEEE 802.xx標準之系列的無線電技術來與有線/無線裝置或實體進行通訊,如操作地與例如印表機、掃描器、桌上型及/或可攜式電腦、個人數位助理(PDA)、通訊衛星、任何與無線可偵測標籤(如資訊站、報攤、洗手間)相關連的設備或位置、和電話進行無線通訊(如IEEE 802.11空中調變技術)的無線裝置。這至少包括用於熱點的Wi-Fi、WiMax、和藍牙(BluetoothTM)無線技術。因此,通訊可以是預定義的架構,如傳統的網路或單純為至少兩個裝置間的ad hoc通訊。Wi-Fi網路使用稱為IEEE 802.11x(a、b、g等)的無線電技術來提供安全、可靠、快速的無線連接。Wi-Fi網路可用於將電腦與電腦彼此連接、連接至網際網路、及連接至有線網路(其使用與IEEE 802.3相關的媒體和功能)。
現在參照圖9,圖9繪示計算環境900的方塊圖,該計算環境有利於透過瀏覽器將內容輸入至應用程式。環境900包括一或多個客戶端902。客戶端902可以是硬體及/或軟體(例如執行緒、程序、計算裝置)。客戶端902可容納例如cookie及/或相關的情境資料。環境900還包括一或多個伺服器904。伺服器904也可為硬體及/或軟體(例如執行緒、程序、計算裝置)。伺服器可容納執行緒904以藉由例如利用該架構來執行轉換。一種客戶端902與伺服器904之間的可能通訊方式為資料封包,其適於傳送於兩或更多的電腦程序之間。資料封包可包括例如cookie及/或相關的情境資料。環境900包括通訊框架906(例如像是網際網路的全球通訊網路),其可用來輔助客戶端902與伺服器904之間的通訊。
可透過有線(包括光纖)及/或無線技術來促進通訊。客戶端902操作連接到一或多個客戶端資料儲存908,其可用來儲存對客戶端902而言為本地的資訊(如cookie及/或相關的情境資料)。類似地,伺服器904操作連接到一或多個伺服器端資料儲存910,其可用來儲存對伺服器904而言為本地的資訊。
上述內容包括本揭示架構的範例。當然,將每個可想像的組件及/或方法之組合都描述出來是不可能的,但具本技術領域之通常知識者可認識到許多進一步的組合和排列是可能的。因此,本新穎架構是為了包含所有這些落入後附請求項之精神和範圍內的改變、更動和變化。此外,關於實施方式或請求項中使用之詞彙「包括」的範圍,該詞彙之解釋是類似於請求項中作為連接詞使用之「包含」。
100...電腦實現之內容系統
102...輸入法組件
104...應用程式
106...基線輸入法功能
108...中介者組件
110...資料
112...網頁文件
114...額外功能
116...嵌式碼
118...瀏覽器
200...流程圖
202...HTML網頁
204...通知
206...URL協定處理器
208...額外輸入法功能
300...第一客戶端配置
302...第一客戶端配置
304...第一輸入法組件
306...第一應用程式
308...第一中介者組件
310...第一網頁
400...第二客戶端配置
402...中介者組件
404...第二輸入法組件
406...第二應用程式
408...第三輸入法組件
410...第三應用程式
414...網頁
416...網頁
418...嵌式碼
422...應用程式功能
424...應用程式功能
500-506...步驟流程
600-604...步驟流程
700-706...步驟流程
800...電腦系統
802...電腦
804...處理單元
806...系統記憶體
808...系統匯流排
810...揮發性記憶體
812...非揮發性記憶體
814...儲存次系統
816...儲存介面
818...可移除記憶體次系統
820...作業系統
822...應用程式
824...其他程式模組
826...程式資料
828...外部使用者輸入裝置
830...機載使用者輸入裝置
832...I/O裝置介面
834...週邊裝置
836...圖形介面
838...外部顯示器
840...機載顯示器
842...有線/無線通訊次系統
844...有線/無線輸入裝置
900...計算環境
902...客戶端
904...伺服器
906...通訊框架
908...客戶端資料儲存
910...伺服器端資料儲存
圖1繪示根據本文所揭示架構之一種電腦實現之內容系統。
圖2繪示組件與實體間之溝通的流程圖,該溝通可透過網頁文件來輔助內容輸入。
圖3繪示用於增加額外功能至應用程式的第一客戶端配置。
圖4繪示用於增加額外功能至應用程式的第二客戶端配置。
圖5繪示一種透過瀏覽器將內容輸入到應用程式的內容方法。
圖6繪示圖5之方法的額外態樣。
圖7繪示圖5之方法的額外態樣。
圖8繪示根據本文所揭示架構之一種計算系統的方塊圖,該計算系統輔助將內容透過瀏覽器輸入至應用程式。
圖9繪示一種計算環境的方塊圖,該計算環境有利於透過瀏覽器將內容輸入至應用程式。
100...電腦實現之內容系統
102...輸入法組件
104...應用程式
106...基線輸入法功能
108...中介者組件
110...資料
112...網頁文件
114...額外功能
116...嵌式碼
118...瀏覽器

Claims (20)

  1. 一種電腦實現之內容系統,包含:一處理器;一輸入法組件,該輸入法組件可以該處理器操作,且該輸入法組件經附加至一應用程式,該輸入法提供該應用程式基線輸入法功能;及一中介者組件,該中介者組件可以該處理器操作,且該中介者組件經配置以接收與一網頁文件關連之資料,該資料將額外功能加入到與該輸入法組件相關之該應用程式,該中介者組件經以一URL(一致資源定位器)前綴(prefix)登錄,該URL前綴係在該網頁文件內,該URL前綴乃該中介者組件操作所在之一作業系統的一組原生URL前綴的擴充,該作業系統包括擴充該組原生URL前綴的能力,該擴充步驟係藉由回應於在該中介者組件處接收來自該網頁文件的一更新而登錄該URL前綴,登錄該URL前綴之步驟包括將該URL前綴關聯於該作業系統的一第二應用程式。
  2. 如請求項1之系統,其中該網頁文件是一網頁,該網頁包括嵌式碼,當該嵌式碼執行時產生該資料,該嵌式碼是以一程式語言撰寫並嵌入於一標記語言中。
  3. 如請求項1之系統,其中該網頁文件是儲存於一網頁伺服器上,且該網頁文件是依需求下載至一客戶端瀏覽器以 由該應用程式更新利用。
  4. 如請求項1之系統,其中該網頁文件透過一網頁文件控制項以輔助該資料經控制輸入至該應用程式中。
  5. 如請求項1之系統,其中該中介者組件是使用一URL協定處理器自該網頁文件引動。
  6. 如請求項1之系統,其中該輸入法組件在給該中介者組件的一通知中發送一識別符,該通知指示該中介者組件該資料將繞送到之一關連輸入法組件或應用程式。
  7. 如請求項1之系統,其中該中介者組件接收與各別輸入法組件關連的多個識別符,該中介者組件登錄該等識別符並繞送該資料至與一最後登錄之識別符的一輸入法組件關連的一應用程式。
  8. 如請求項1之系統,其中該額外輸入法功能包括文字或複物件中之至少一者。
  9. 一種電腦實現之內容系統,包含:一處理器;一輸入法組件,該輸入法組件可以該處理器操作,且該輸入法組件與一應用程式關連,該輸入法將基線輸入法功能 提供給該應用程式;及一中介者組件,該中介者組件可以該處理器操作,且該中介者組件與該輸入法組件關連,該中介者組件經配置以自該輸入法組件接收一通知,該中介者組件以自一網頁中之編碼所產生的一資料形式來提供該應用程式額外功能,該中介者組件經以一URL(一致資源定位器)前綴(prefix)登錄,該URL前綴係在該網頁文件內,該URL前綴乃該中介者組件操作所在之一作業系統的一組原生URL前綴的擴充,該作業系統包括擴充該組原生URL前綴的能力,該擴充步驟係藉由回應於在該中介者組件處接收來自該網頁文件的一更新而登錄該URL前綴,登錄該URL前綴之步驟包括將該URL前綴關聯於該作業系統的一第二應用程式。
  10. 如請求項9之系統,其中該中介者組件自處理該網頁中之編碼的一瀏覽器接收該資料。
  11. 如請求項9之系統,其中當一瀏覽器執行召用該中介者組件之該網頁中的編碼時,該資料產生該額外功能。
  12. 如請求項9之系統,其中該中介者組件接收與該輸入法組件關連的一識別符、登錄該識別符、及根據登錄之該識別符繞送該資料。
  13. 如請求項9之系統,其中該中介者組件輔助一特定 資料類型之資料的利用。
  14. 如請求項9之系統,其中該中介者組件輔助該資料以一字元、一字、一片語、或複物件之至少一者之一形式分錄至該應用程式,該應用程式是一語言學應用程式。
  15. 一種電腦實現之內容方法,包含以下步驟:提供一應用程式基線輸入法功能;存取一網頁,該網頁包括與額外應用程式功能相關之嵌式碼;執行該網頁中之該嵌式碼以得到該額外應用程式功能,該網頁包括一URL(一致資源定位器)前綴(prefix),該URL前綴乃該應用程式操作所在之一作業系統的一組原生URL前綴的擴充,該URL前綴經以一中介者登錄,該作業系統包括擴充該組原生URL前綴的能力,該擴充步驟係藉由回應於在該中介者處接收來自該網頁文件的一更新而登錄該URL前綴,登錄該URL前綴之步驟包括將該URL前綴關聯於該作業系統的一第二應用程式;及加入該額外應用程式功能至該應用程式。
  16. 如請求項15之方法,更包含以下步驟:以一腳本語言(scripting language)描述該嵌式碼並嵌入該編碼於該網頁之一標記語言中。
  17. 如請求項15之方法,更包含以下步驟:更新該網頁之該嵌式碼以用於後續執行,並根據更新之該嵌式碼將更新之額外應用程式功能應用至該應用程式。
  18. 如請求項15之方法,更包含以下步驟:登錄一輸入法,其提供該中介者該基線輸入法功能,並根據登錄透過該中介者繞送該額外應用程式功能至該應用程式。
  19. 如請求項15之方法,更包含以下步驟:回應於與該網頁之互動,自動加入額外應用程式功能至該應用程式。
  20. 如請求項15之方法,更包含以下步驟:使用追蹤資訊於多個應用程式中追蹤與該應用程式之互動;以一通知發送該追蹤資訊至該中介者;及根據該追蹤資訊加入額外應用程式功能至一對應應用程式。
TW099103386A 2009-03-25 2010-02-04 經由網頁瀏覽器輸入內容至應用程式 TWI521357B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/410,470 US9436482B2 (en) 2009-03-25 2009-03-25 Input content to application via web browser

Publications (2)

Publication Number Publication Date
TW201128404A TW201128404A (en) 2011-08-16
TWI521357B true TWI521357B (zh) 2016-02-11

Family

ID=42781788

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099103386A TWI521357B (zh) 2009-03-25 2010-02-04 經由網頁瀏覽器輸入內容至應用程式

Country Status (6)

Country Link
US (1) US9436482B2 (zh)
JP (1) JP5757533B2 (zh)
KR (1) KR101661784B1 (zh)
CN (1) CN102362261B (zh)
TW (1) TWI521357B (zh)
WO (1) WO2010111147A2 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119454A1 (en) * 2009-11-17 2011-05-19 Hsiang-Tsung Kung Display system for simultaneous displaying of windows generated by multiple window systems belonging to the same computer platform
US9146909B2 (en) * 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
US20130081010A1 (en) * 2011-09-22 2013-03-28 Microsoft Corporation Template and server content download using protocol handlers
US8930492B2 (en) * 2011-10-17 2015-01-06 Blackberry Limited Method and electronic device for content sharing
US8769524B2 (en) * 2011-12-09 2014-07-01 Disney Enterprises, Inc. HTML directed adaptive features for mobile applications
US8893117B2 (en) * 2012-08-10 2014-11-18 Adobe Systems Incorporated Interactive product improvement through the use of variants and data gathering reports in a system that can be updated on the fly
JP5684766B2 (ja) * 2012-09-19 2015-03-18 株式会社東芝 複合機およびシステム
US10025760B2 (en) * 2013-01-25 2018-07-17 Ebay Inc. Mapping page states to URLs
US10810634B2 (en) * 2013-02-08 2020-10-20 The Nielsen Company (Us), Llc Methods and apparatus for efficient execution of modules
WO2015171517A1 (en) * 2014-05-06 2015-11-12 Okta, Inc. Facilitating single sign-on to software applications
US10042947B2 (en) * 2014-10-30 2018-08-07 Sunasic Technologies, Inc. Read-only method and system for operating portable devices
CN106095946B (zh) * 2016-06-14 2020-03-31 百度在线网络技术(北京)有限公司 页面的处理方法及装置
US10470040B2 (en) 2017-08-27 2019-11-05 Okta, Inc. Secure single sign-on to software applications
CN108334379A (zh) * 2018-01-05 2018-07-27 北京明略软件系统有限公司 一种页面扩展功能的实现方法及实现装置
CN108416021B (zh) * 2018-03-06 2023-10-13 腾讯科技(深圳)有限公司 一种浏览器网页内容处理方法、装置、电子设备及可读介质
CN112230914B (zh) * 2019-07-15 2023-09-15 腾讯科技(深圳)有限公司 小程序的制作方法、装置、终端及存储介质
US10963538B2 (en) * 2019-07-31 2021-03-30 Salesforce.Com, Inc. Client application for web application execution

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151609A (en) 1996-08-16 2000-11-21 Electronic Data Systems Corporation Remote editor system
US6119166A (en) * 1997-03-28 2000-09-12 International Business Machines Corporation Controlling communications with local applications using a browser application
CN1148675C (zh) 2000-06-20 2004-05-05 国际商业机器公司 基于网络的输入系统和方法
US6996599B1 (en) * 2000-06-21 2006-02-07 Microsoft Corporation System and method providing multi-tier applications architecture
KR100426315B1 (ko) * 2002-01-16 2004-04-06 한국전자통신연구원 서블릿 프로그램에서 ejb 컴포넌트 추출을 위한 분석장치 및 그 방법
US7426545B2 (en) * 2002-06-28 2008-09-16 International Business Machines Corporation Systems and methods for transparently accessing Web applications remotely and locally
GB2411331A (en) * 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
JP2006195979A (ja) 2005-01-04 2006-07-27 Microsoft Corp ウェブアプリケーションアーキテクチャ
US7676357B2 (en) 2005-02-17 2010-03-09 International Business Machines Corporation Enhanced Chinese character/Pin Yin/English translator
JP4649301B2 (ja) 2005-09-15 2011-03-09 株式会社東芝 通信方法及びサーバ装置
US20070245353A1 (en) * 2006-03-14 2007-10-18 Amir Ben-Dor Secure integration of a local and a remote application
US8250518B2 (en) * 2006-03-30 2012-08-21 Microsoft Corporation Per user file associations
KR20070109149A (ko) 2006-05-09 2007-11-15 브레인즈스퀘어(주) 데이터베이스의 업그레이드 방법.
US7966599B1 (en) * 2006-08-29 2011-06-21 Adobe Systems Incorporated Runtime library including a virtual file system
JP4974749B2 (ja) * 2007-04-20 2012-07-11 キヤノン株式会社 情報処理装置、配信方法、その方法を実行する制御プログラム
US20090070786A1 (en) 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based event processing networks for event server
US8793709B2 (en) * 2008-11-20 2014-07-29 SAP France S.A. Dynamic data coordination between multiple applications

Also Published As

Publication number Publication date
CN102362261A (zh) 2012-02-22
JP5757533B2 (ja) 2015-07-29
WO2010111147A3 (en) 2011-01-13
WO2010111147A2 (en) 2010-09-30
KR101661784B1 (ko) 2016-09-30
TW201128404A (en) 2011-08-16
JP2012521609A (ja) 2012-09-13
CN102362261B (zh) 2014-01-08
US20100251084A1 (en) 2010-09-30
US9436482B2 (en) 2016-09-06
KR20120009434A (ko) 2012-01-31

Similar Documents

Publication Publication Date Title
TWI521357B (zh) 經由網頁瀏覽器輸入內容至應用程式
US11829186B2 (en) System and methods for integration of an application runtime environment into a user computing environment
US9332063B2 (en) Versatile application configuration for deployable computing environments
US9071570B2 (en) Method and apparatus to select and deliver portable portlets
JP6397113B2 (ja) リモーティングセッションを通じた非サポートファイル形式の開封
US10574724B2 (en) Automatic discovery of management nodes and generation of CLI using HA module
US9122762B2 (en) Method and system to maintain a web page
US8037484B2 (en) Building compound extensible AJAX applications
TW201108096A (en) Help information for links in a mashup page
JP5137479B2 (ja) 異機種環境においてメッセージのサーバ・ベースのレンダリングを管理するためにコンピュータを利用する方法およびシステム
Nichols et al. Highlight: a system for creating and deploying mobile web applications
JP2009026013A (ja) コンテンツ登録・提供装置、コンテンツ登録・提供制御方法、および、コンテンツ登録・提供制御プログラム
JP2005050241A (ja) サーバ、情報処理方法およびプログラム
JP5409529B2 (ja) アプリケーション実行装置及びプログラム
Yanagisawa et al. Interactive interface for web-based programming environment
Mardan et al. Hello World Example
Kvell Aranea Ajax

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees