JP7473007B2 - 表示制御システム、表示制御方法及び表示制御プログラム - Google Patents

表示制御システム、表示制御方法及び表示制御プログラム Download PDF

Info

Publication number
JP7473007B2
JP7473007B2 JP2022560549A JP2022560549A JP7473007B2 JP 7473007 B2 JP7473007 B2 JP 7473007B2 JP 2022560549 A JP2022560549 A JP 2022560549A JP 2022560549 A JP2022560549 A JP 2022560549A JP 7473007 B2 JP7473007 B2 JP 7473007B2
Authority
JP
Japan
Prior art keywords
additional
display
existing
unit
display control
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2022560549A
Other languages
English (en)
Other versions
JPWO2022097213A1 (ja
Inventor
英毅 小矢
真実 小宮山
明 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2022097213A1 publication Critical patent/JPWO2022097213A1/ja
Application granted granted Critical
Publication of JP7473007B2 publication Critical patent/JP7473007B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本開示は、表示制御システム、表示制御方法及び表示制御プログラムに関する。
Webシステムは、様々な業務を対象に開発されている。業務の実態に合わせてWebシステムの画面をアップデートすることは、業務にとって重要なことである。しかしながら、画面の改造は、多大なコストを必要とする場合がある。また、画面の改造は、Webシステムに予期しない影響を与える場合がある。そこで、画面を直接改造することなく、画面を業務の変化に対応させるために、UI拡張技術が提案されている。
UI拡張技術は、既存のWebシステムの画面を直接改造することなく、追加のUIを表示するものである。UI拡張技術では、追加のUIによる既存のWebシステムへの影響を軽減するために、追加のUIは、既存のWebシステムの画面を構成するDOM(Document Object Model)ツリーの末尾に挿入される。
追加のUIがDOMツリーの末尾に挿入された場合に、表示の基点となる基点UI(User Interface)が、追加のUIに対して指定される。基点UIは、既存のWebシステムの画面に存在するUIである。この基点UIが画面に表示された場合に、追加のUIは、基点UIからの相対座標に基づいて、画面に表示される。
上述したような追加のUIの表示を制御する手法は、追加のUIの複雑な表示および非表示や、追加のUIの表示位置の制御を必要とする場合がある。例えば、このような手法では、追加のUIを、Webシステムの画面に存在するUIのスクロールに追従させるために、スクロール領域を有するUIが、画面のDOMツリーの中から探索される場合がある。スクロール領域を有するUIは、追加のUIの表示制御に使用されるUIの一例である。
特開2018-5344号公報
しかしながら、追加のUIの表示を制御する既存の手法では、追加のUIの表示制御に使用されるUIの探索を効率よく行えない場合がある。
例えば、既存の手法では、追加のUIの表示制御に使用されるUIの全探索が、画面のDOMツリーのルートから実行される。しかしながら、DOMツリーの構造が巨大である、またはDOMツリーの変更規模が大きい場合に、UIの探索は、長い時間を要する場合がある。最悪の場合、Webシステムが、フリーズする。
本願は、上記に鑑みてなされたものであって、追加のUIの表示制御に使用されるUIの探索を効率よく行うことを目的とする。
本開示の実施形態に係る表示制御システムは、追加のUIが挿入された画面のDOMツリーを取得する取得部と、前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索部と、前記探索部によって探索されたUIに対して、前記表示条件に応じたイベントを登録する登録部とを備える。
実施形態の一態様によれば、追加のUIの表示制御に使用されるUIの探索を効率よく行うことができる。
図1は、UI拡張の一例を示す説明図である。 図2は、典型的なUI探索の一例を示す説明図である。 図3は、実装例に係るUI探索の一例を示す説明図である。 図4Aは、追加のUIの表示制御の一例を示す説明図である。 図4Bは、追加のUIの表示制御の一例を示す説明図である。 図4Cは、追加のUIの表示制御の一例を示す説明図である。 図5は、実施形態に係る表示制御システムの一例を示す図である。 図6は、実施形態に係る端末装置によって実行される、追加のUIが挿入されたことを検知するための処理の一例を示すフローチャートである。 図7は、典型的なUI探索の一例を示す説明図である。 図8は、実装例に係るUI探索の一例を示す説明図である。 図9は、記憶部に保持される情報の一例を示す説明図である。 図10Aは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図10Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図11Aは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図11Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図12Aは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図12Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。 図13は、実施形態に係る端末装置によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。 図14は、イベント発生時の画面表示の一例を示す説明図である。 図15は、実施形態に係る端末装置によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。 図16は、イベント発生時の画面表示の一例を示す説明図である。 図17は、実施形態に係る端末装置によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。 図18は、イベント発生時の画面表示の一例を示す説明図である。 図19は、実施形態に係る端末装置によって実行される、追加のUIの表示制御に使用されるUIを探索するための処理の一例を示すフローチャートである。 図20は、ハードウェア構成の一例を示す図である。
以下、本開示の実施形態について、図面を参照しつつ詳細に説明する。なお、この実施形態により本発明が限定されるものではない。1つまたは複数の実施形態の詳細は、以下の説明および図面に記載される。また、複数の実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の1つまたは複数の実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
以下では、「追加のUI」を「追加UI」と表記することがある。また、「既存のUI」が、「既存UI」と表記されることがある。
〔1.概要〕
本節では、本明細書に記載されるいくつかの実装形態の概要について説明する。なお、この概要は、読者の便宜のために提供されるものであって、本発明や、以下の節で説明される実施形態を限定することを意図するものではない。
従来、様々なUI拡張技術が提案されている。UI拡張技術の1つは、既存のシステム画面を構成するDOMツリーの末尾に追加のUIを挿入するWeb機能拡張技術である。Web機能拡張技術は、既存のWebシステムの画面を直接改造することの影響を発生させずに、追加のUIを表示することができる。
図1は、UI拡張の一例を示す説明図である。図1の例では、Webシステムの画面のDOMツリー10は、既存のWebシステムの画面のDOMツリー11および追加のUIのDOMツリー12を含む。図1に示された矢印は、画面のDOMツリー10と、画面の見た目との対応を示す。
Web機能拡張技術では、基点のUIが、追加のUIに対して指定される。基点のUIは、既存のWebシステムに存在するUIである。基点となるUIがWebシステムの画面に表示されている場合に、追加のUIは、基点となるUIからの相対座標で表示される。階層的に追加のUIの親となる既存のUIが変化する場合に、追加のUIの表示制御が、既存のUIの変化に応じて必要とされる場合がある。
例えば、Web機能拡張技術では、表示態様の変化を伴う既存のUIが、追加のUIの表示制御のために探索される。表示態様の変化を伴う既存のUIは、例えば、スクロール領域を持つ既存のUIである。図1の例では、追加UI(1)は、既存UI(2)の子として実際は存在しない。このため、もし、追加のUIの表示制御が行われなければ、追加UI(1)は、既存UI(2)のスクロールに追従しない。
そこで、Web機能拡張技術では、表示態様の変化を伴う既存のUIが、探索される。このような既存のUIは、追加のUIの基点として設定されたUIの親階層に存在し、表示態様の変化を伴うUIである。例えば、探索される既存のUIは、スクロール領域を持つ既存のUIである。
図2は、典型的なUI探索の一例を示す説明図である。典型的なUI探索では、DOMツリー10の動的な変化に対応するために、表示制御に使用されるUIは、ルートから全探索されている。このため、典型的なUI探索の計算量は、膨大であり、親のスクロールの変化にしか対応してない。
図2の例では、スクロール領域を持つ既存のUIは、既存UI(1)の配下にないが、既存UI(3)や既存UI(4)も、探索されてしまう。このように、典型的なUI探索では、無駄な探索が発生する。また、ツリーの変化が大きい場合に、UIの探索に要する計算量が増大する。最悪の場合、既存のシステムが固まる。
そこで、追加のUIが挿入された場合に、実装例に係る表示制御システムは、追加のUIの表示制御に使用される複数のUIを、基点となるUIを基点として探索する。これにより、表示制御システムは、計算量の小さい効率的なUIの特定を可能にする。
図3は、実装例に係るUI探索の一例を示す説明図である。表示制御システムは、DOMツリー10の親に向かって、基点となるUIから、既存のUIを探索する。探索対象となる既存のUIは、スクロール領域を持つ既存のUI等の、表示態様の変化を伴う既存のUIである。表示態様の変化は、透過度、サイズ、z-index等の変化であってもよい。
表示制御システムは、基点となるUIからルートに向かってUIを探索し、探索されたキー(基点となるUIまたは既存のUI)とバリュー(表示条件)とのセットを、記憶領域に格納する。表示制御システムが記憶領域に既に記憶されているキーとバリューのセットを見つけた場合に、表示制御システムは、以降のUIの探索をスキップする。このように、表示制御システムは、記憶領域に記憶されているキーとバリューのセットに基づいて、不要な探索をスキップすることができる。そして、表示制御システムは、表示条件に応じた表示制御処理を、既存のUIのイベントに対して登録する。
これにより、表示制御システムは、UI探索の計算量を削減し、UIの表示を高速化することができる。また、表示制御システムは、追加のUIに設定された表示条件(例えば、親のスクロールに追従、親の透過度に追従)に合わせて、追加のUIの表示制御を、柔軟に行うこともできる。
〔2.はじめに〕
今日、様々なシステムが、業務に使用されている。業務の実態は日々変化するため、業務の実態に合わせて業務システムをアップデートすることは、重要なことである。例えば、新規メニューが、サービスに追加されたものとする。この例では、もし、業務システムが新規メニューに対応していなければ、業務システムのユーザは、業務システム上で、新規メニューに関する業務を遂行することができない。
そこで、業務システムをタイムリーにアップデートするために、UI拡張技術が提案されている。業務システムのUIを拡張するUI拡張技術は、例えば、上述の特許文献1で詳しく議論されている。UI拡張技術は、業務システムの画面に追加されたUIの表示を制御する。
図4A、図4Bおよび図4Cは、追加のUIの表示制御の一例を示す説明図である。図4A、図4Bおよび図4Cの例では、追加のUIが、既存システムの画面20に挿入される。既存システムの画面20は、UI21を含む。UI21は、UI22を含む。図4Aに示された矢印は、画面20のDOMと、画面20の見た目との対応を示す。
図4Aの例では、追加のUIが、UI22を基点としてUI22の下方に挿入される。例えば、WebMakeupなどの手法では、UI23が、画面20のDOMツリーの途中に挿入される。ただし、既存のDOMツリーの階層構造が壊れるため、このことが、システムに影響を与える可能性がある。そこで、特許文献1の手法は、UI23を、画面20のDOMツリーの末尾に挿入することで、システムへの影響を軽減している。実施形態に係る表示制御システムは、後者の手法に関連するものである。
図4Bの例では、「annotation」というラベルが、追加のUI(例えば、UI23、UI24)として初期表示される。そして、スクロールのイベントが、UI21で発生する。WebMakeupなどの手法では、追加のUIは、自動的にスクロールされる。しかしながら、特許文献1の手法では、追加のUIはそのままではスクロールされないため、特許文献1の手法は、UI22がスクロールされたことを検知し、追加のUIの表示位置を更新することを必要とする。
図4Cの例では、追加のUIは、追加のUIの表示位置の制御によって、UI21で発生したスクロールのイベントに追従する。WebMakeupなどの手法では、追加のUIがスクロール領域外にあると、追加のUIが、自動的に非表示となる。しかしながら、特許文献1の手法では、そのままでは追加のUIは表示されたままとなるため、特許文献1の手法は、UI22がスクロールされたことを検知し、基点となるUIが表示領域外にあることを判定する非表示処理を必要とする。
上述したように、特許文献1の手法等の、UI拡張の手法は、追加のUIの表示制御を必要とする場合がある。例えば、表示制御は、既存のシステムに存在するスクロール領域を持つUIに対して、スクロールのイベントを検知する。このような表示制御を実現するために、既存の手法は、スクロール領域を持つUIを探索する。より具体的には、既存の手法は、DOMツリーが更新されたタイミングで、スクロール領域を持つUIを、DOMツリーのルートから全探索している。そして、既存の手法は、探索されたUIに対して、スクロール時の追加のUIの表示更新処理を登録するイベント登録処理を行っている。
このように、UI拡張の手法は、既存のUIがスクロール等の変化を伴う場合に、階層的に追加のUIの親となる既存のUIの変化に合わせて、追加のUIの表示制御を行うことを必要とする場合がある。上述のように、既存の手法は、既存のUIの変化に対応するために、表示制御に使用される既存のUIを、DOMツリーのルートから全探索している。しかしながら、DOMツリーが大規模な場合には、UI探索の計算量が増加し、表示が遅延する場合がある。
そこで、実施形態に係る表示制御システムは、スクロール領域を持つUI等の、追加のUIの表示制御に使用される既存のUIを、効率的に探索する。これにより、表示制御システムは、DOMツリーが大規模な場合であっても、表示の遅延を抑えることができる。
〔3.表示制御システムの構成〕
次に、図5を参照して、実施形態に係る表示制御システムの構成例について説明する。
図5は、実施形態に係る表示制御システム1の一例を示す図である。図5に示されるように、表示制御システム1は、端末装置100と、コンテンツ提供装置200とを含む。図5中では図示していないが、表示制御システム1は、複数台の端末装置100や、複数台のコンテンツ提供装置200を含んでもよい。
表示制御システム1において、端末装置100およびコンテンツ提供装置200は、それぞれネットワークNと有線又は無線により接続される。ネットワークNは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等のネットワークである。表示制御システム1の構成要素は、ネットワークNを介して互いに通信を行うことができる。
〔3-1.構成要素〕
端末装置100は、追加のUIの表示制御に使用されるUIを探索するための処理を実行する情報処理装置である。端末装置100は、クライアント装置を含む、任意のタイプの情報処理装置であってもよい。端末装置100の構成例は、次の節で詳述される。
コンテンツ提供装置200は、コンテンツ提供者によって利用される情報処理装置である。コンテンツ提供者は、システムの画面等のコンテンツを、端末装置100に提供する。コンテンツ提供装置200は、コンテンツに、追加のUIを挿入することができる。コンテンツ提供装置200は、サーバを含む、任意のタイプの情報処理装置であってもよい。
〔3-2.端末装置の構成〕
次に、端末装置100の構成例について説明する。
図5に示されるように、端末装置100は、通信部110と、入力部120と、出力部130と、記憶部140と、制御部150とを有する。
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、有線または無線によりネットワーク網と接続される。通信部110は、コンテンツ提供装置200に、ネットワークNを介して、通信可能に接続される。通信部110は、コンテンツ提供装置200との間で、ネットワーク網を介して、情報の送受信を行うことができる。
(入力部120)
入力部120は、端末装置100のユーザから各種操作を受け付ける入力装置である。例えば、入力部120は、キーボードやマウスや操作キー等によって実現される。
(出力部130)
出力部130は、各種情報を表示するための表示装置である。例えば、出力部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等によって実現される。なお、端末装置100にタッチパネルが採用される場合には、入力部120と出力部130とは一体化される。
(記憶部140)
記憶部140は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図4に示されるように、記憶部140は、表示条件記憶部141と、イベント処理コード記憶部142とを有する。
(表示条件記憶部141)
表示条件記憶部141は、既存のUIを探索するために使用される表示条件を記憶する。表示条件記憶部141は、後述する探索部154によって決定された表示条件を記憶する。表示条件記憶部141は、後述する探索部154によって探索された既存のUIのキャッシュを、表示条件として記憶する。
(イベント処理コード記憶部142)
イベント処理コード記憶部142は、追加のUIの表示制御に使用されるイベント処理コードを記憶する。イベント処理コード記憶部142は、後述する登録部155によって登録されたイベント処理コードを記憶する。
(制御部150)
制御部150は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラム(表示制御プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部150は、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
制御部150は、図5に示されるように、受信部151と、検知部152と、取得部153と、探索部154と、登録部155と、表示部156とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。端末装置100の1つまたは複数のプロセッサは、端末装置100の1つまたは複数のメモリに記憶された命令を実行することによって、制御部150内の各制御部の機能を実現することができる。なお、制御部150の内部構成は、図5に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、探索部154は、探索部154以外の部に関して後述する情報処理の全部または一部を行ってもよい。
(受信部151)
受信部151は、コンテンツ提供装置200から、システムの画面等のコンテンツを受信する。受信部151は、受信されたコンテンツを、記憶部140に格納してもよい。
(検知部152)
検知部152は、追加のUIが挿入されたことを検知する。例えば、検知部152は、受信部151によって受信されたコンテンツを解析し、追加のUIがコンテンツに挿入されたことを検知する。
例えば、検知部152は、追加のUIが、システム画面に、システムとは独立したソフトウェアから挿入されたことを検知する。コンテンツ提供装置200が、このソフトウェアを実装してもよい。検知部152は、システム画面のDOMが変更されたことを検知する。
図6は、実施形態に係る端末装置100によって実行される、追加のUIが挿入されたことを検知するための処理の一例を示すフローチャートである。
端末装置100の検知部152は、既存システム画面が変更された、または追加のUIが挿入されたかを判定する(ステップS101)。
既存システム画面が変更されておらず、かつ追加のUIが挿入されていないと判定された場合に(ステップS101:No)、検知部152は、記憶部140のデータを削除する(ステップS102)。既存システム画面が変更された、または追加のUIが挿入されたと判定された場合に(ステップS101:Yes)、後述する探索部154が、追加のUIの表示制御に使用されるUIを探索する(ステップS103)。その後、検知部152は、次の変更まで待機する。
(取得部153)
取得部153は、システムの画面等のコンテンツのDOMツリーを取得する。例えば、取得部153は、検知部152が追加のUIが画面に挿入されたことを検知した場合に、システムの画面のDOMツリーを取得する。
(探索部154)
探索部154は、追加のUIの表示制御に使用されるUIを探索する。例えば、システムの画面のDOMツリーから、追加のUIの表示制御に使用される既存のUIを探索する。既存のUIは、システムの画面に存在するUIである。この既存のUIは、システムの画面に追加されたUIの表示制御に使用される。
以下でより詳細に説明されるように、探索部154は、追加のUIの表示に関する表示条件に基づいて、追加のUIが挿入された画面のDOMツリーにおいて、既存のUIを探索する。例えば、表示条件は、DOMツリーにおいて基点UIより上位に位置するUIのスクロール、透明度及びサイズ変更のうちの少なくとも1つに関する条件である。言い換えると、追加のUIの表示に関する1つまたは複数の表示条件は、1)DOMツリーにおいて基点UIより上位に位置するUIのスクロールに関する条件、2)このUIの透明度に関する条件、および3)このUIのサイズ変更に関する条件のうちの少なくとも1つを含み得る。表示条件は、1)の条件、2)の条件、3)の条件、またはこれらの任意の組み合わせであってもよい。なお、表示条件は、これらの条件に限定されるものではない。1つまたは複数の表示条件は、これらの条件以外の条件(例えば、z-indexに関する条件)を含んでもよい。
UIの探索の入力は、1)取得部153によって取得されたDOMツリー、2)追加のUIの表示の基点となる既存のUI(基点UIと呼ばれる)、および3)追加のUIに設定された表示条件である。探索部154は、追加のUIの表示制御に使用される既存のUIを、検知部152によって検知された追加のUIの表示制御に関する情報として探索する。
図7は、典型的なUI探索の一例を示す説明図である。図7の例では、システム画面のDOMツリーは、既存システム画面のDOMツリー31および追加UIのDOMツリー32を含む。典型的なUI探索は、既存システム画面のDOMツリーを、システム画面ルートから全探索する。
図7の例では、典型的なUI探索は、スクロール領域を持つ既存UIについての全探索を実行する。基点UIがスクロール領域を持つ既存UIの配下にある場合に、この既存UIをキーとして使用して、表示条件を記憶装置に格納する。
しかしながら、典型的なUI探索は、無駄な探索を実行する場合があり、探索効率が悪い。例えば、基点UIがスクロール領域を持つ既存UIの配下にない場合に、この既存UIの探索は、不要な探索である。このように、基点UIが既存UIの配下に存在しない場合に、この既存UIは、追加UIの表示制御処理とは無関係である。したがって、この既存UIの探索は、本来不要である。
図8は、実装例に係るUI探索の一例を示す説明図である。上述の典型的なUI探索の場合と同様に、システム画面のDOMツリーは、既存システム画面のDOMツリー31および追加UIのDOMツリー32を含む。実装例に係るUI探索は、システム画面ルートからではなく、基点UIから、追加UIの表示制御処理に関係する既存UIを探索する。
実装例に係るUI探索は、表示制御処理に関係する既存UIを、基点UIから親に向かって探索する。実装例に係るUI探索では、探索部154は、1)システム画面ルート、2)同じ条件の基点UI、または3)同じ条件で探索済みの既存UIを発見した場合に、探索部154は、探索を終了する。
探索部154は、1)、2)および3)の処理を、全ての基点UIから実行する。そして、既存UIをキーとして使用して、表示制御処理に対応する表示条件を、記憶部140に格納する。これにより、探索部154は、追加UIの表示制御処理とは無関係である既存UIの探索をなくすことができ、それによって、探索効率を向上させることができる。
図9は、記憶部140に保持される情報の一例を示す説明図である。探索部154は、表示条件を、記憶部140内の表示条件記憶部141に格納する。表示条件43は、表示条件記憶部141に格納される表示条件の一例である。探索部154は、表示条件43によって示されるように、1つのキーに対して、複数の条件を登録することができる。
図9の例では、システム画面のDOMツリーは、既存システム画面のDOMツリー41および追加UIのDOMツリー42を含む。既存システム画面のDOMツリー41は、複数の基点UIおよび複数の既存UIを含む。追加UIのDOMツリー42は、追加UI(1)および追加UI(2)を含む。
複数の既存UIのうちの既存UI(1)は、スクロール領域を持つ。また、透過度が、既存UI(1)に設定されている。複数の既存UIのうちの既存UI(2)は、スクロール領域を持つ。
複数の基点UIのうちの基点UI-Aは、追加UI(1)および追加UI(2)から基点UIに設定されている。追加UI(1)に設定された条件は、親のスクロールに追従することである。一方、追加UI(2)に設定された条件は、親の透過度に追従することである。
探索部154は、追加UIに設定された条件に対応する既存UIを、基点UIから探索する。そして、探索部154は、探索された基点UIをキーとして使用して、表示条件を表示条件記憶部141に格納する。
図10Aおよび図10Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。図10Aおよび図10Bの例では、追加UIの条件が、同じである。追加UI(1)に設定された表示条件は、追加UI(2)に設定された表示条件と同じである。探索部154は、表示条件に対応するUIを、基点UIからシステム画面のルートに向かって探索する。そして、探索部154は、既に探索され、同じ条件を有する既存UIを、スキップする。
図10Aおよび図10Bの例では、システム画面51は、既存UI(1)を含む。既存UI(1)は、既存UI(2)および既存UI(4)を含む。既存UI(2)は、既存UI(3)、基点UI(2)および追加UI(2)を含む。既存UI(3)は、基点UI(1)および追加UI(1)を含む。
図10Aおよび図10Bの例では、既存UI(1)、既存UI(2)および既存UI(3)は、スクロール領域を持つ。一方、既存UI(4)は、スクロール領域を持たない。
図10Aを参照すると、はじめに、探索部154は、追加UI(1)が既存システム画面に追加されたことを検知する(ステップS11)。追加UI(1)に設定された条件は、親のスクロールに追従することである。追加UIのDOMツリーは、既存システム画面のDOMツリーの末尾に挿入される。
次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS12)。
次いで、探索部154は、追加UI(1)の基点UIを取得する(ステップS13)。図10Aの例では、探索部154は、基点UI(1)を取得する。図10Aの例では、探索部154は、記憶部(例えば、記憶部140内の表示条件記憶部141)に、基点UI(1)をキーとして使用して、追加UI(1)に設定された条件を格納する。
次いで、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する(ステップS14)。図10Aの例では、基点UI(1)からシステム画面ルートまでの経路は、既存UI(1)、既存UI(2)および既存UI(3)を含む。これらの既存UIは、スクロール領域を持つ。このため、探索部154は、既存UI(1)、既存UI(2)および既存UI(3)をキーとして使用して、「スクロール領域を持つ」という条件を、記憶部に格納する。図10Aの例では、記憶部は、表示条件52を記憶する。
図10Bを参照すると、図10AのステップS14の後に、探索部154は、追加UI(2)が既存システム画面に追加されたことを検知する(ステップS15)。追加UI(2)に設定された条件は、親のスクロールに追従することである。
次いで、探索部154は、追加UI(2)の基点UIを取得する(ステップS16)。図10Bの例では、探索部154は、基点UI(2)を取得する。
次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS17)。
その後、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する。探索開始時の記憶部は、表示条件52を記憶する。図10Bの例では、既存UI(2)が、基点UI(2)の親に位置する。記憶部に同じ条件を含む既存UI(2)が登録されているので、探索部154は、以降の探索を終了する(ステップS18)。
図11Aおよび図11Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。図11Aおよび図11Bの例では、追加UIの条件が同じであり、複数の基点が親子関係にある。同じ条件で探索された基点UIが親にある場合に、探索部154は、以降の探索をスキップする。
図11Aおよび図11Bの例では、システム画面53は、既存UI(1)を含む。既存UI(1)は、既存UI(2)および既存UI(4)を含む。既存UI(2)は、基点UI(1)、既存UI(3)および追加UI(1)を含む。基点UI(1)は、基点UI(2)および追加UI(2)を含む。
図11Aおよび図11Bの例では、既存UI(1)および既存UI(2)、ならびに基点UI(1)は、スクロール領域を持つ。一方、既存UI(4)は、スクロール領域を持たない。
図11Aを参照すると、はじめに、探索部154は、追加UI(1)が既存システム画面に追加されたことを検知する(ステップS21)。追加UI(1)に設定された条件は、親のスクロールに追従することである。
次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS22)。
次いで、探索部154は、追加UI(1)の基点UIを取得する(ステップS23)。図11Aの例では、探索部154は、基点UI(1)を取得する。図11Aの例では、探索部154は、記憶部(例えば、記憶部140内の表示条件記憶部141)に、基点UI(1)をキーとして使用して、追加UI(1)に設定された条件を格納する。
次いで、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する(ステップS24)。図11Aの例では、基点UI(1)からシステム画面ルートまでの経路は、既存UI(1)および既存UI(2)を含む。これらの既存UIは、スクロール領域を持つ。このため、探索部154は、既存UI(1)および既存UI(2)をキーとして使用して、「スクロール領域を持つ」という条件を、記憶部に格納する。図11Aの例では、記憶部は、表示条件54を記憶する。
図11Bを参照すると、図11AのステップS24の後に、探索部154は、追加UI(2)が既存システム画面に追加されたことを検知する(ステップS25)。追加UI(2)に設定された条件は、親のスクロールに追従することである。
次いで、探索部154は、追加UI(2)の基点UIを取得する(ステップS26)。図11Bの例では、探索部154は、基点UI(2)を取得する。
次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS27)。
その後、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する。探索開始時の記憶部は、表示条件54を記憶する。図11Bの例では、基点UI(1)が、基点UI(2)の親に位置する。記憶部に同じ条件を含む基点UI(1)が登録されているので、探索部154は、以降の探索を終了する(ステップS28)。
図12Aおよび図12Bは、追加のUIの表示制御に使用されるUIを探索する探索処理の一例を示す説明図である。図12Aおよび図12Bの例では、追加UIに複数の条件がある。
図12Aおよび図12Bの例では、システム画面55は、既存UI(1)を含む。既存UI(1)は、既存UI(2)および既存UI(4)を含む。既存UI(2)は、既存UI(3)、基点UI(2)および追加UI(2)を含む。既存UI(3)は、基点UI(1)および追加UI(1)を含む。
図12Aおよび図12Bの例では、既存UI(1)、既存UI(2)および既存UI(3)は、スクロール領域を持つ。また、既存UI(3)は、透明度を持つ。一方、既存UI(4)は、スクロール領域を持たない。
図12Aを参照すると、はじめに、探索部154は、追加UI(1)が既存システム画面に追加されたことを検知する(ステップS31)。追加UI(1)に設定された条件は、親のスクロールに追従することおよび親の透明度に追従することである。
次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS32)。
次いで、探索部154は、追加UI(1)の基点UIを取得する(ステップS33)。図12Aの例では、探索部154は、基点UI(1)を取得する。図12Aの例では、探索部154は、記憶部(例えば、記憶部140内の表示条件記憶部141)に、基点UI(1)をキーとして使用して、追加UI(1)に設定された条件を格納する。
次いで、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する(ステップS34)。図12Aの例では、基点UI(1)からシステム画面ルートまでの経路は、既存UI(3)、既存UI(2)および既存UI(1)を含む。これらの既存UIは、スクロール領域や透明度を持つ。このため、探索部154は、既存UI(1)、既存UI(2)および既存UI(3)をキーとして使用して、「スクロール領域を持つ」という条件や「透明度を持つ」という条件を、記憶部に格納する。図12Aの例では、記憶部は、表示条件56を記憶する。
図12Bを参照すると、図12AのステップS34の後に、探索部154は、追加UI(2)が既存システム画面に追加されたことを検知する(ステップS35)。追加UI(2)に設定された条件は、親のスクロールに追従することである。
次いで、探索部154は、追加UI(2)の基点UIを取得する(ステップS36)。図12Bの例では、探索部154は、基点UI(2)を取得する。
次いで、探索部154は、既存システム画面のDOMツリーを取得する(ステップS37)。
その後、探索部154は、スクロール領域を持つUIを、システム画面ルートに向かって探索する。探索開始時の記憶部は、表示条件56を記憶する。図12Bの例では、既存UI(2)が、基点UI(2)の親に位置する。記憶部に同じ条件を含む既存UI(2)が登録されているので、探索部154は、以降の探索を終了する(ステップS38)。
(登録部155)
登録部155は、探索部154によって探索されたUIに対して、追加のUIの表示制御に使用されるイベント処理を登録する。登録部155は、既存のUIの表示条件に応じたイベントを登録する。登録部155は、追加のUIの表示制御に使用されるイベント処理コードを、イベント処理コード記憶部142に格納してもよい。
(表示部156)
表示部156は、例えば、CPUやMPU等によって、上述のイベント処理コードがRAMを作業領域として実行されることにより実現される。例えば、上述のイベント処理コードは、表示条件に応じたイベント処理手順を、端末装置100に実行させる。この場合、表示部156は、イベント処理手順により実現される。
図13は、実施形態に係る端末装置100によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。図13の例では、表示条件は、スクロールへの追従である。スクロールが既存UIで発生した場合に、追加のUIが、このスクロールに追従し、追加のUIの表示位置が、修正される。
はじめに、表示部156は、スクロールのイベントが発生したことを検知する(ステップS201)。イベントが短時間で連続で発生した場合には、表示部156は、最後に発生したイベントまで待機する(ステップS202)。
次いで、表示部156は、スクロールが発生した既存UIのDOMツリーの配下にある基点UIの中から、対応する追加UIで、表示条件(すなわち、スクロールへの追従)の基点UIを抽出する(ステップS203)。
次いで、表示部156は、抽出された全ての基点UIの処理が完了したかを判定する(ステップS204)。
抽出された全ての基点UIの処理が完了していないと判定された場合に(ステップS204:No)、表示部156は、基点UIが表示領域内に存在するかを判定する(ステップS205)。
基点UIが表示領域内に存在しないと判定された場合に(ステップS205:No)、表示部156は、基点UIに対応する追加UIを非表示にする(ステップS206)。そして、表示部156は、再度ステップS204を実行する。
基点UIが表示領域内に存在すると判定された場合に(ステップS205:Yes)、表示部156は、基点UIに対応する追加UIの表示位置を、既存UIのスクロール量だけ修正し、追加UIを表示する(ステップS207)。そして、表示部156は、再度ステップS204を実行する。
ステップS204において、抽出された全ての基点UIの処理が完了したと判定された場合に(ステップS204:Yes)、表示条件に応じたイベント処理は、終了する。
図14は、イベント発生時の画面表示の一例を示す説明図である。図13の場合と同様に、図14の例では、表示条件は、スクロールへの追従である。追加UIが、画面61に挿入されている。また、基点UIが、追加UIに設定されている。画面61のDOMツリーでは、基点UIが、既存UI(1)および既存UI(2)の配下にある。
図14の例では、図13を参照して上述したイベント処理が、登録部155によって登録されている。スクロールが発生した場合に、システム画面は、画面61から画面62に変化する。追加UIの表示位置は、画面62において示されるように、イベント処理に従って、修正される。このため、イベント処理は、追加UIが置き去りにされるのを防止することができる。
図15は、実施形態に係る端末装置100によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。図15の例では、表示条件は、透過度への追従である。透過度の変化が既存UIで発生した場合に、追加のUIが、この透過度の変化に追従し、追加のUIの表示が、修正される。
はじめに、表示部156は、透過度の変化のイベントが発生したことを検知する(ステップS301)。イベントが短時間で連続で発生した場合には、表示部156は、最後に発生したイベントまで待機する(ステップS302)。
次いで、表示部156は、透過度の変化が発生した既存UIのDOMツリーの配下にある基点UIの中から、対応する追加UIで、表示条件(すなわち、透過度への追従)の基点UIを抽出する(ステップS303)。
ステップS304、ステップS305およびステップS306は、図13のステップS204、ステップS205およびステップS206と同様である。ここでは、重複する説明は、省略される。
基点UIが表示領域内に存在すると判定された場合に(ステップS305:Yes)、表示部156は、基点UIに対応する追加UIの透過度の値を、既存UIの透過度の値に修正し、追加UIを表示する(ステップS307)。そして、表示部156は、再度ステップS304を実行する。
ステップS304において、抽出された全ての基点UIの処理が完了したと判定された場合に(ステップS304:Yes)、表示条件に応じたイベント処理は、終了する。
図16は、イベント発生時の画面表示の一例を示す説明図である。図15の場合と同様に、図16の例では、表示条件は、透過度への追従である。追加UIが、画面63に挿入されている。また、基点UIが、追加UIに設定されている。画面63のDOMツリーでは、基点UIが、既存UI(1)および既存UI(2)の配下にある。また、既存UI(3)も、既存UI(1)および既存UI(2)の配下にある。
図16の例では、図15を参照して上述したイベント処理が、登録部155によって登録されている。既存UI(2)の透過度が変化した場合に、既存UI(3)および基点UIの色も、変化する。もし、イベント処理が登録されていなければ、追加UIの周辺の既存UI(3)の色は、既存UI(2)の透過度によって変化するが、追加UIの色が、変化しない。このような場合、追加UIは、浮いて表示されてしまう。イベント処理が登録されている場合には、システム画面は、画面63から画面64に変化する。イベント処理が適用され、追加UIは、自然に表示される。このため、イベント処理は、追加UIがシステム画面で浮いてしまうのを防止することができる。
図17は、実施形態に係る端末装置100によって実行される、表示条件に応じたイベント処理の一例を示すフローチャートである。図17の例では、表示条件は、サイズ変更への追従である。サイズ変更が既存UIで発生した場合に、追加のUIが、このサイズ変更に追従し、追加のUIの表示が、修正される。
はじめに、表示部156は、サイズ変更のイベントが発生したことを検知する(ステップS401)。イベントが短時間で連続で発生した場合には、表示部156は、最後に発生したイベントまで待機する(ステップS402)。
次いで、表示部156は、サイズ変更が発生した既存UIのDOMツリーの配下にある基点UIの中から、対応する追加UIで、表示条件(すなわち、サイズ変更への追従)の基点UIを抽出する(ステップS403)。
ステップS404、ステップS405およびステップS406は、図13のステップS204、ステップS205およびステップS206と同様である。ここでは、重複する説明は、省略される。
基点UIが表示領域内に存在すると判定された場合に(ステップS405:Yes)、表示部156は、基点UIに対応する追加UIを表示する(ステップS407)。そして、表示部156は、再度ステップS404を実行する。
ステップS404において、抽出された全ての基点UIの処理が完了したと判定された場合に(ステップS404:Yes)、表示条件に応じたイベント処理は、終了する。
図18は、イベント発生時の画面表示の一例を示す説明図である。図17の場合と同様に、図18の例では、表示条件は、サイズ変更への追従である。追加UIが、画面65に挿入されている。また、基点UIが、追加UIに設定されている。画面65のDOMツリーでは、基点UIが、既存UI(1)および既存UI(2)の配下にある。
図18の例では、図17を参照して上述したイベント処理が、登録部155によって登録されている。既存UI(2)のサイズが変更された場合に、システム画面は、画面65から画面66に変化する。図18の例では、基点UIが、表示領域外にある。追加UIは、画面65において示されるように、イベント処理に従って、非表示に設定される。
〔4.探索処理のフロー〕
次に、図19を参照して、実施形態に係る端末装置100による探索処理の手順について説明する。
図19は、実施形態に係る端末装置100によって実行される、追加のUIの表示制御に使用されるUIを探索するための処理の一例を示すフローチャートである。
図19に示されるように、はじめに、端末装置100の取得部153は、追加されたUIの条件を取得する(ステップS501)。より具体的には、取得部153は、追加されたUI(すなわち、上述の追加のUI)の表示条件を取得する。
次いで、取得部153は、既存システム画面のDOMツリーを取得して返却(return)する(ステップS502)。
次いで、端末装置100の探索部154は、既存システム画面のDOMツリーから、追加されたUIに設定された基点UIを取得する(ステップS503)。上述のように、基点UIは、追加されたUIの表示の基点となるUIである。
次いで、探索部154は、記憶部140に、基点UIをキーとして、追加されたUIの条件を追加保存する(ステップS504)。より具体的には、探索部154は、基点UIをキーとして使用して、追加されたUIの表示条件を、表示条件記憶部141に格納する。
次いで、探索部154は、基点UIを現在のUIに設定する(ステップS505)。言い換えると、探索部154は、基点UIを、探索点に設定する。上述のように、基点UIは、探索起点に相当する。
次いで、探索部154は、現在のUIの親に位置する既存UIを取得する(ステップS506)。
次いで、探索部154は、取得された既存UIがシステム画面ルートであるかを判定する(ステップS507)。取得された既存UIがシステム画面ルートであると判定された場合に(ステップS507:Yes)、追加のUIの表示制御に使用されるUIを探索するための処理は、終了する。
取得された既存UIがシステム画面ルートでないと判定された場合に(ステップS507:No)、探索部154は、既存UIが記憶部140に存在するかを判定する(ステップS508)。より具体的には、探索部154は、既存UIが表示条件記憶部141に、キーとして記憶されているかを判定する。
既存UIが記憶部140に存在すると判定された場合に(ステップS508:Yes)、探索部154は、記憶部140から、既存UIをキーとして、条件の一覧を取得する(ステップS509)。条件の一覧は、例えば、「スクロール領域を持つ」、「透明度が設定されている」等の表示条件である。
次いで、探索部154は、追加されたUIの条件が取得された条件の一覧に含まれるかを判定する(ステップS510)。
追加されたUIの条件が取得された条件の一覧に含まれないと判定された場合に(ステップS510:No)、探索部154は、既存UIが追加された条件に一致するかを判定する(ステップS511)。一例として、追加されたUIの条件が「親のスクロールに追従」である場合に、探索部154は、既存UIがスクロール領域を持つかを判定する。
ステップS508において、既存UIが記憶部140に存在しないと判定された場合に(ステップS508:No)、追加のUIの表示制御に使用されるUIを探索するための処理は、ステップS511に移行する。
既存UIが追加された条件に一致すると判定された場合に(ステップS511:Yes)、探索部154は、記憶部140に、既存UIをキーとして、追加されたUIの条件を追加保存する(ステップS512)。一例として、追加されたUIの条件が「親のスクロールに追従」であり、既存UIがスクロール領域を持つ場合に、探索部154は、この既存UIに関連付けられた「スクロール領域を持つ」という表示条件を、表示条件記憶部141に格納する。
次いで、端末装置100の登録部155は、既存UIに対して条件に応じたイベントを登録する(ステップS513)。図5を参照して上述したように、例えば、登録部155は、既存UIのイベント(例えば、スクロール)に対して、追加されたUIの表示制御に使用されるイベント処理を登録する。例えば、登録部155は、特定のイベント(例えば、スクロール)が発生した場合のイベント処理のコードを、イベント処理コード記憶部142に格納する。
次いで、端末装置100の探索部154は、既存UIを現在のUIに設定する(ステップS514)。そして、探索部154は、再度ステップS506を実行する。
ステップS510において、追加されたUIの条件が取得された条件の一覧に含まれると判定された場合に(ステップS510:Yes)、追加のUIの表示制御に使用されるUIを探索するための処理は、終了する。
〔5.効果〕
上述してきたように、実施形態に係る表示制御システム1は、取得部153と、探索部154とを有する。
実施形態に係る表示制御システム1において、取得部153は、追加のUIが挿入された画面のDOMツリーを取得する。また、実施形態に係る表示制御システム1において、探索部154は、追加のUIの表示に関する表示条件に基づいて、DOMツリーにおいて、追加のUIの表示の基点となる基点UIから、追加のUIの表示制御に使用されるUIを探索する。
これにより、実施形態に係る表示制御システム1は、追加のUIの表示制御に使用されるUIの探索を効率よく行うことができる。
また、実施形態に係る表示制御システム1において、探索部154は、追加のUIの表示制御に使用されるUIを、基点UIから、DOMツリーのルートに向かって再帰的に探索し、基点UIをキーとして使用して、表示条件を、所定の記憶装置(例えば、表示条件記憶部141)に格納し、探索されたUIをキーとして使用して、表示条件を、この所定の記憶装置に格納する。
これにより、実施形態に係る表示制御システム1は、UI拡張において使用される、追加のUIの表示制御に使用される既存のUI探索に関して、無駄な探索を大幅に削減し、効率的な探索を実現することができる。
また、実施形態に係る表示制御システム1において、取得部153は、他の追加のUIが、追加のUIに加えて挿入された画面のDOMツリーを取得する。また、実施形態に係る表示制御システム1において、探索部154は、他の追加のUIの表示に関する表示条件が、所定の記憶装置(例えば、表示条件記憶部141)に記憶された表示条件と一致する場合に、他の追加の表示制御に使用されるUIの探索を終了する。
これにより、実施形態に係る表示制御システム1は、追加のUIの表示を高速化し、画面にUI拡張を適用する際の負荷を軽減することができる。
また、実施形態に係る表示制御システム1において、追加のUIの表示に関する表示条件は、DOMツリーにおいて基点UIより上位に位置するUIのスクロール、透明度及びサイズ変更のうちの少なくとも1つに関する条件である。
これにより、実施形態に係る表示制御システム1は、透過度、サイズ変更またはz-index等の、表示制御の対象でなかった親要素の表示状況に合わせて、追加のUIの表示を制御することができる。このため、表示制御システム1は、追加のUIを、より自然に既存のシステムに表示することができる。
また、実施形態に係る表示制御システム1は、追加のUIが画面に挿入されたことを検知する検知部152を有する。また、実施形態に係る表示制御システム1において、取得部153は、検知部152が追加のUIが画面に挿入されたことを検知した場合に、画面のDOMツリーを取得する。
これにより、実施形態に係る表示制御システム1は、UIが動的に追加された場合でも、追加のUIの表示制御を行うことができる。
〔6.他の実施形態〕
上述の実施形態に係る表示制御システム1は、上述の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の表示制御システム1の他の実施形態について説明する。
〔6-1.端末装置による表示制御処理の実行主体〕
コンテンツ提供装置200は、上述の実施形態において端末装置100によって実行された処理の全部または一部を実行してもよい。例えば、コンテンツ提供装置200は、受信部151、検知部152、取得部153、探索部154、登録部155に関して上述した情報処理の全部または一部を行ってもよい。
一例として、コンテンツ提供装置200は、他のコンテンツ提供装置から、コンテンツを受信してもよい。そして、コンテンツ提供装置200は、受信されたコンテンツを使用して、検知部152、取得部153、探索部154、登録部155に関して上述した情報処理を行ってもよい。
コンテンツ提供装置200は、上述のイベント処理コードを生成し、生成されたイベント処理コードとともに、コンテンツを端末装置100に提供してもよい。この場合、端末装置100、コンテンツ提供装置200から提供されたコンテンツとイベント処理コードに基づいて、表示部156に関して上述した情報処理を行ってもよい。
図5を参照して上述したように、表示制御システム1は、端末装置100と、コンテンツ提供装置200とを含む。コンテンツ提供装置200が、受信部151、検知部152、取得部153、探索部154、登録部155に関して上述した情報処理の一部を分担してもよい。
〔7.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
例えば、図5に示した記憶部140の一部又は全部は、端末装置100によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、端末装置100は、ストレージサーバにアクセスすることで、表示条件等の各種情報を取得する。
〔8.ハードウェア構成〕
図20は、ハードウェア構成の一例を示す図である。上述してきた実施形態に係る端末装置100やコンテンツ提供装置200は、例えば図20に示すような構成のコンピュータ1000によって実現される。
図20は、プログラムが実行されることにより、端末装置100やコンテンツ提供装置200が実現されるコンピュータの一例を示している。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、端末装置100やコンテンツ提供装置200の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、端末装置100やコンテンツ提供装置200における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、本発明を特定の例に限定するものではない。本明細書に記載された特徴は、発明を実施するための形態の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で実施されることが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、探索部は、探索手段や探索回路に読み替えることができる。
1 表示制御システム
100 端末装置
110 通信部
120 入力部
130 出力部
140 記憶部
141 表示条件記憶部
142 イベント処理コード記憶部
150 制御部
151 受信部
152 検知部
153 取得部
154 探索部
155 登録部
156 表示部
200 コンテンツ提供装置

Claims (7)

  1. 追加のUIが挿入された画面のDOMツリーを取得する取得部と、
    前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索部と
    を備えることを特徴とする表示制御システム。
  2. 前記探索部は、前記追加のUIの表示制御に使用されるUIを、前記基点UIから、前記DOMツリーのルートに向かって再帰的に探索し、前記基点UIをキーとして使用して、前記表示条件を、所定の記憶装置に格納し、探索されたUIをキーとして使用して、前記表示条件を、当該所定の記憶装置に格納する
    ことを特徴とする請求項1に記載の表示制御システム。
  3. 前記取得部は、他の追加のUIが、前記追加のUIに加えて挿入された前記画面の前記DOMツリーを取得し、
    前記探索部は、前記他の追加のUIの表示に関する表示条件が、前記所定の記憶装置に記憶された表示条件と一致する場合に、前記他の追加の表示制御に使用されるUIの探索を終了する
    ことを特徴とする請求項2に記載の表示制御システム。
  4. 前記追加のUIの表示に関する表示条件は、前記DOMツリーにおいて前記基点UIより上位に位置するUIのスクロール、透明度及びサイズ変更のうちの少なくとも1つに関する条件である
    ことを特徴とする請求項1~3のうちいずれか1つに記載の表示制御システム。
  5. 前記追加のUIが前記画面に挿入されたことを検知する検知部をさらに備え、
    前記取得部は、前記検知部が前記追加のUIが前記画面に挿入されたことを検知した場合に、前記画面のDOMツリーを取得する
    ことを特徴とする請求項1~4のうちいずれか1つに記載の表示制御システム。
  6. コンピュータが実行する表示制御方法であって、
    追加のUIが挿入された画面のDOMツリーを取得する取得工程と、
    前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索工程と
    を含むことを特徴とする表示制御方法。
  7. 追加のUIが挿入された画面のDOMツリーを取得する取得手順と、
    前記追加のUIの表示に関する表示条件に基づいて、前記DOMツリーにおいて、前記追加のUIの表示の基点となる基点UIから、前記追加のUIの表示制御に使用されるUIを探索する探索手順と
    をコンピュータに実行させることを特徴とする表示制御プログラム。
JP2022560549A 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム Active JP7473007B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/041268 WO2022097213A1 (ja) 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2022097213A1 JPWO2022097213A1 (ja) 2022-05-12
JP7473007B2 true JP7473007B2 (ja) 2024-04-23

Family

ID=81457001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022560549A Active JP7473007B2 (ja) 2020-11-04 2020-11-04 表示制御システム、表示制御方法及び表示制御プログラム

Country Status (3)

Country Link
US (1) US20240012981A1 (ja)
JP (1) JP7473007B2 (ja)
WO (1) WO2022097213A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008293506A (ja) 2008-06-06 2008-12-04 Ntt Docomo Inc 構造化文書データ更新方法及び情報提供サーバ
JP2013061702A (ja) 2011-09-12 2013-04-04 Nec Corp 構造化文書処理装置、構造化文書の類似領域特定方法、及び構造化文書の類似領域特定プログラム
JP2015079305A (ja) 2013-10-15 2015-04-23 日本電信電話株式会社 作業ログの可視化方法及び装置並びにプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004206797A (ja) * 2002-12-25 2004-07-22 Kenwood Corp オーディオシステム及び記録再生装置
JPWO2005029353A1 (ja) * 2003-09-18 2006-11-30 富士通株式会社 注釈管理システム、注釈管理方法、文書変換サーバ、文書変換プログラム、電子文書付加プログラム
JP7211228B2 (ja) * 2019-04-09 2023-01-24 日本電信電話株式会社 解析装置、解析方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008293506A (ja) 2008-06-06 2008-12-04 Ntt Docomo Inc 構造化文書データ更新方法及び情報提供サーバ
JP2013061702A (ja) 2011-09-12 2013-04-04 Nec Corp 構造化文書処理装置、構造化文書の類似領域特定方法、及び構造化文書の類似領域特定プログラム
JP2015079305A (ja) 2013-10-15 2015-04-23 日本電信電話株式会社 作業ログの可視化方法及び装置並びにプログラム

Also Published As

Publication number Publication date
JPWO2022097213A1 (ja) 2022-05-12
WO2022097213A1 (ja) 2022-05-12
US20240012981A1 (en) 2024-01-11

Similar Documents

Publication Publication Date Title
US8775923B1 (en) Web page restoration
US20190251143A1 (en) Web page rendering method and related device
US10643023B2 (en) Programmatic native rendering of structured content
US8266544B1 (en) HTML pop-up control
CN102693280B (zh) 网页浏览方法、WebApp框架、执行JavaScript方法及装置、移动终端
EP2805258B1 (en) Low resolution placeholder content for document navigation
TWI536242B (zh) 經由瓦來呈現應用程式的變化
WO2021174928A1 (zh) 页面预渲染方法、装置、电子设备及存储介质
KR101512010B1 (ko) 셸 애플리케이션들 및 서브애플리케이션들의 인터페이스들의 조합
CA2564389C (en) Multi-source, multi-destination data transfers
CN104981800A (zh) 在页检索事件期间递送和显示页面预览
JP5279247B2 (ja) クライアント、サーバ及びそれらの制御方法、コンピュータプログラム
US20150220496A1 (en) Dynamic sprite based theme switching
EP3654175A1 (en) Terminal device, ui extension method, and ui extension program
CN115309470A (zh) 微件的加载方法、装置、设备以及存储介质
US20160371062A1 (en) Method For The Automatic Presentation And Interaction Of A Data-Form User-Interface From Object-Model Metadata Under Media And Security Constraints
EP3008697B1 (en) Coalescing graphics operations
JP7473007B2 (ja) 表示制御システム、表示制御方法及び表示制御プログラム
JP2010092103A (ja) Webページ表示方法、サーバ装置、及びプログラム
US20140337284A1 (en) Synchronizing folders using a shadow folder hierarchy
CN114756797A (zh) 一种页面处理方法、装置、电子设备和存储介质
US11288336B2 (en) Systems and methods for providing content items in situations involving suboptimal network conditions
WO2022113315A1 (ja) ユーザインタフェース拡張システム、ユーザインタフェース拡張方法及びユーザインタフェース拡張プログラム
CN111931010B (zh) 一种锚点与线条的动态绑定方法、装置、设备和存储介质
US11907646B1 (en) HTML element based rendering supporting interactive objects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240312

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240325

R150 Certificate of patent or registration of utility model

Ref document number: 7473007

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150