JP7503685B1 - 埋込プログラム、画面表示プログラム及び画面表示方法 - Google Patents

埋込プログラム、画面表示プログラム及び画面表示方法 Download PDF

Info

Publication number
JP7503685B1
JP7503685B1 JP2023072879A JP2023072879A JP7503685B1 JP 7503685 B1 JP7503685 B1 JP 7503685B1 JP 2023072879 A JP2023072879 A JP 2023072879A JP 2023072879 A JP2023072879 A JP 2023072879A JP 7503685 B1 JP7503685 B1 JP 7503685B1
Authority
JP
Japan
Prior art keywords
program
parent
embedded
information
screen
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
JP2023072879A
Other languages
English (en)
Inventor
武史 安川
亜美 中野
弦斗 高原
Original Assignee
三菱電機Itソリューションズ株式会社
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 三菱電機Itソリューションズ株式会社 filed Critical 三菱電機Itソリューションズ株式会社
Priority to JP2023072879A priority Critical patent/JP7503685B1/ja
Application granted granted Critical
Publication of JP7503685B1 publication Critical patent/JP7503685B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】既存のウェブアプリケーションプログラムのソースコードに対する改修を減らしつつ、既存のウェブアプリケーションプログラムとの間で、画面の動き等に連動させた情報連携を実現可能にする。【解決手段】埋込プログラム20は、親画面11をブラウザ30に表示するウェブアプリケーションプログラムである親プログラム10から呼び出される、親プログラム10とは異なるウェブアプリケーションプログラムである。埋込プログラム20は、ブラウザ30に対して発生した指定イベントを検知する。埋込プログラム20は、指定イベントが検知されると、親プログラム10と埋込プログラム20との間で情報を連携させる。【選択図】図1

Description

本開示は、ウェブアプリケーションプログラム間の情報を連携する技術に関する。
既存のウェブアプリケーションプログラムに対して機能を追加したい場合がある。この場合には、既存のウェブアプリケーションプログラムのソースコードに対して改修を加えればよい。しかし、既存のウェブアプリケーションプログラムのソースコードの改修が困難な場合がある。例えば、既存のウェブアプリケーションプログラムが他社の製品であるような場合には、既存のウェブアプリケーションプログラムの詳細な仕様が把握できないため改修が困難な場合がある。また、既存のウェブアプリケーションプログラムがクラウドシステムである場合には、自由な改修が認められておらず、改修が困難な場合がある。
既存のウェブアプリケーションプログラムのソースコードの改修が困難な場合には、追加機能を実現したウェブアプリケーションプログラムを別途作成して、既存のウェブアプリケーションプログラムとの間で情報連携させるという方法が考えられる。
ウェブアプリケーションプログラム間で情報を連携する方式としては、APIを用いて情報転送する方式と、CSVといった形式のファイルを入出力する方式と、インラインフレームを用いた方式とがある。APIは、Application Programming Interfaceの略である。CSVは、Comma-Separated
Valuesの略である。特許文献1には、インラインフレームを用いた技術が記載されている。
特開2023-26702号公報
APIを用いて情報転送する方式と、CSVといった形式のファイルを入出力する方式とでは、ウェブアプリケーションプログラムで表示する画面の動きに連動した処理の実現は困難である。そのため、画面の動きに連動させて、ウェブアプリケーションプログラム間での双方向に情報連携させること、又は、リアルタイムに情報連携させることを実現するには不向きであった。
インラインフレームを用いた方式では、画面の動きに連動した処理を実現することが可能である。しかし、インラインフレームを用いた方式では、連携先と連携元とのプログラムの構造を互いに考慮し、連携先と連携元とが密に結合した実装が必要になる。
本開示は、既存のウェブアプリケーションプログラムのソースコードに対する改修を減らしつつ、既存のウェブアプリケーションプログラムとの間で、画面の動き等に連動させた情報の連携を実現可能にすることを目的とする。
本開示に係る埋込プログラムは、
親画面をブラウザに表示するウェブアプリケーションプログラムである親プログラムから呼び出される、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであり、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる。
本開示では、埋込プログラムは親プログラムから呼び出され実行される。これにより、ブラウザから見た場合に埋込プログラムは、親プログラムとともに1つのウェブ画面を構成するプログラムになる。そのため、埋込プログラムが親画面を表示したブラウザにおける指定イベントを検出し、親プログラムと埋込プログラムとの間で情報を連携させることが可能になる。その結果、親プログラムには、埋込プログラムを呼び出す処理だけを記述するだけで情報の連携が可能になる。
実施の形態1に係る画面表示システム100の構成図。 実施の形態1に係るウェブ画面の説明図。 実施の形態1に係る第1サーバ101と第2サーバ102とユーザ端末103とのハードウェア構成の説明図。 実施の形態1に係る画面表示システム100の動作概要を示すフローチャート。 実施の形態1に係る画面表示システム100の詳細な動作を示すフローチャート。 実施の形態1に係る画面表示システム100の詳細な動作を示すフローチャート。 実施の形態1に係る埋込プログラム20を用いて親プログラム10に機能追加する方法の説明図。 実施の形態1に係る埋込プログラム20を用いて親プログラム10に機能追加する方法の説明図。 変形例2に係る画面表示システム100の構成図。
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係る画面表示システム100の構成を説明する。
画面表示システム100は、第1サーバ101と、第2サーバ102と、ユーザ端末103とを備える。第1サーバ101と、第2サーバ102と、ユーザ端末103とは、インターネット等のネットワーク109を介して接続されている。
第1サーバ101には、ウェブアプリケーションプログラムである親プログラム10が記憶されている。第2サーバ102には、親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラム20が記憶されている。
ユーザ端末103は、ウェブ閲覧用のブラウザ30を備える。ユーザ端末103は、ブラウザ30を介して第1サーバ101にアクセスして、親プログラム10を取得して実行する。これにより、図2に示すように、ユーザ端末103が備えるブラウザ30に、親プログラム10によって親画面11が描画される。また、親プログラム10によって、第2サーバ102に記憶された埋込プログラム20が呼び出され、実行される。これにより、図2に示すように、親画面11の一部として、埋込画面21が描画される。
図3を参照して、実施の形態1に係る第1サーバ101と第2サーバ102とユーザ端末103とのハードウェア構成を説明する。
第1サーバ101と第2サーバ102とユーザ端末103とは、コンピュータである。
第1サーバ101と第2サーバ102とユーザ端末103とは、プロセッサ201と、メモリ202と、ストレージ203と、通信インタフェース204とのハードウェアを備える。プロセッサ201は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ201は、プロセッシングを行うICである。ICはIntegrated
Circuitの略である。プロセッサ201は、具体例としては、CPU、DSP、GPUである。CPUは、Central Processing Unitの略である。DSPは、Digital Signal Processorの略である。GPUは、Graphics Processing Unitの略である。
メモリ202は、情報を一時的に記憶する記憶装置である。メモリ202は、具体例としては、SRAM、DRAMである。SRAMは、Static Random Access Memoryの略である。DRAMは、Dynamic Random Access Memoryの略である。
ストレージ203は、情報を保管する記憶装置である。ストレージ203は、具体例としては、HDDである。HDDは、Hard Disk Driveの略である。また、ストレージ203は、SD(登録商標)メモリカード、CompactFlash(登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、Blu-ray(登録商標)ディスク、DVDといった可搬記録媒体であってもよい。SDは、Secure Digitalの略である。DVDは、Digital Versatile Diskの略である。
通信インタフェース204は、外部の装置と通信するためのインタフェースである。通信インタフェース204は、具体例としては、Ethernet(登録商標)、USB、HDMI(登録商標)のポートである。USBは、Universal Serial Busの略である。HDMIは、High-Definition Multimedia Interfaceの略である。
***動作の説明***
図4から図7を参照して、実施の形態1に係る画面表示システム100の動作を説明する。
実施の形態1に係る画面表示システム100の動作手順は、実施の形態1に係る画面表示方法に相当する。また、実施の形態1に係る画面表示システム100の動作を実現する親プログラム及び埋込プログラムは、実施の形態1に係る画面表示プログラムに相当する。
図4を参照して、実施の形態1に係る画面表示システム100の動作概要を説明する。
(ステップS1:親描画処理)
ユーザ端末103は、ブラウザ30を介して第1サーバ101にアクセスして、親プログラム10を取得し実行する。これにより、ブラウザ30において親プログラム10が起動する。親プログラム10は、親画面11をブラウザ30に描画する。また、親プログラム10は、埋込プログラム20を呼び出す呼出し処理を実行する。
(ステップS2:埋込描画処理)
ブラウザ30においてステップS1で呼び出された埋込プログラム20が起動する。埋込プログラム20は、親画面11の一部として、埋込画面21を描画する。また、埋込プログラム20は、ブラウザ30の指定イベントをフックする。
指定イベントとは、後述するようにアプリケーション情報又は初期情報に設定されていて、親画面11または埋込画面21における利用者からのキー操作やマウス操作等によるイベントを示す。指定イベントをフックするとは、指定イベントの発生を埋込プログラム20に通知するように指定することであり、詳細は後述する。
ステップS1からステップS2の処理が実行されることにより、図2に示すように、親画面11の一部として、埋込画面21が描画されたウェブ画面が表示される。このウェブ画面に対してユーザにより操作が行われる。例えば、ウェブ画面上をカーソルが動かされる、ブラウザ30のサイズが変更される、親画面11におけるテキストボックスに入力される、埋込画面21におけるボタンが押下されるといった操作がされる。
(ステップS3:イベント検知処理)
埋込プログラム20は、ブラウザ30に対して発生した指定イベントを検知する。埋込プログラム20は、指定イベントが検知された場合には、処理をステップS4に進める。一方、埋込プログラム20は、指定イベントが検知されなかった場合には、処理をステップS3に戻す。
(ステップS4:情報連携処理)
埋込プログラム20は、親プログラム10と埋込プログラム20との間で情報を連携させる。
具体例として、埋込プログラム20は、親プログラム10で管理される情報を取得して、取得した情報を用いて指定イベントに応じた処理を実行する。埋込プログラム20は、取得した情報に基づき埋込画面21に表示する情報を更新する処理を実行することが考えられる。他の具体例として、埋込プログラム20は、埋込プログラム20で管理される情報を親プログラム10に渡して親画面11に設定する。
ここで親プログラム10と埋込プログラム20との間での情報の連携とは、具体例として示した親プログラム10で管理される情報を埋込プログラム20に渡すことを含み、親画面11あるいは埋込画面21でのユーザの画面操作に応じた入力値又は表示値に関する情報、親プログラム10あるいは埋込プログラム20での処理の実行結果に基づく表示値に関する情報等を親プログラム10と埋込プログラム20との間で受け渡すことを示す。
ウェブ画面に対してユーザにより操作が行われ、ステップS3からステップS4の処理が繰り返し実行される。これにより、親プログラム10と埋込プログラム20との間で情報が連携されながら、処理が実行される。
図5及び図6を参照して、実施の形態1に係る画面表示システム100の詳細な動作を説明する。
まずブラウザ30において親プログラム10が動作する。ステップS11からステップS13の処理は、図4のステップS1の処理に対応する。
なお具体例として親プログラム10は、HTMLで構成され、埋込プログラム20は、javascriptで構成されているものとする。HTMLは、HyperText Markup Languageの略である。
第1サーバ101にアクセスすることにより、親プログラム10を構成するHTMLプログラムがブラウザ30に読み込まれる(ステップS11)。これにより、ブラウザ30において親プログラム10が起動する。親プログラム10は、親画面11をブラウザ30に表示する。
親プログラム10は、埋込プログラム20を呼び出す(ステップS12)。具体的には、HTMLプログラムには、埋込プログラム20を構成するエンジンjsファイルを指定したscriptタグが記載されている。このscriptタグが実行されることにより、第2サーバ102から埋込プログラム20のエンジンjsファイルが読み込まれる。
ブラウザ30はエンジンjsを起動する(ステップS13)。ここでは、エンジンjsには、末尾に実行命令が記述されているとする。そのため、ブラウザ30は、読み込まれたエンジンjsを起動する。
エンジンjsを実行したことにより、動作の主体が埋込プログラム20に移る。ステップS21からステップS29の処理は、図4のステップS2の処理に対応する。
エンジンjsが実行する処理に関する情報を持っていないため、埋込プログラム20は、実行する処理について第2サーバ102に問合せする(ステップS21)。すると、第2サーバ102は、初期に実行されるstartup.jsonファイルを読み込み、startup.jsonファイルをアプリケーション情報としてブラウザ30に送信する(ステップS22)。startup.jsonファイルには、実行モジュールの情報と、初期化メソッドとが示されている。
埋込プログラム20は、アプリケーション情報であるstartup.jsonファイルに示された実行モジュールの初期化メソッドの実行を第2サーバ102に指示する(ステップS23)。第2サーバ102は、実行モジュールの初期化メソッドを呼び出す(ステップS24)。すると、実行モジュールの初期化メソッドが実行され、デザインファイルと、親画面11の一部として埋込画面21が描画されたウェブ画面を初期に表示する情報とがブラウザ30に返される(ステップS25)。
ここでアプリケーション情報とはアプリケーションの動作に必要な情報を定義した情報を示す。またデザインファイルとは埋込画面21のデザイン情報を定義したファイルを示す。javascriptを用いて描画できる領域をCanvasと言うが、デザインファイルは、Canvasに描画される画面デザインの情報を定義したファイルで、具体的にはボタンの座標、大きさ、表示する文字列といった情報が含まれている。
埋込プログラム20は、デザインファイルに基づき、親プログラム10にCanvasタグを埋め込む(ステップS26)。これにより、親画面11の一部として、Canvasタグで示された埋込画面21が描画される(ステップS27)。埋込プログラム20は、ブラウザ30の指定イベントをフックする(ステップS28)。指定イベントは、アプリケーション情報又は初期情報に設定されている。指定イベントは、親画面11におけるテキストボックスに入力される、埋込画面21におけるボタンが押下されるといったイベントである。
埋込プログラム20は、アプリケーション情報とデザイン情報と初期情報とのいずれかに示された画面部品jsファイル及び個別イベントjsファイルとを第2サーバ102から読み込む(ステップS29)。画面部品jsファイルは、埋込画面21を変化させるためのプログラムである。個別イベントjsファイルは、親プログラム10と埋込プログラム20との間で情報連携を行うためのプログラムである。
以上の処理により、図2に示すように、親画面11の一部として、埋込画面21が描画されたウェブ画面が表示される。表現を変えると、親画面11内のCanvasの領域に、埋込画面21が描画されたウェブ画面が表示される。このウェブ画面に対してユーザにより操作が行われる。例えば、カーソルの移動、キーボードによるキー入力、画面サイズ変更、タイマーの作動等が行われる。そして、ユーザによる操作が行われる際、ステップS31以降の処理が実行される。
ステップS31からステップS32の処理は、図4のステップS3の処理に対応する。ステップS41からステップS47の処理は、図4のステップS4の処理に対応する。
埋込プログラム20は、ブラウザ30に対して発生したイベントを検知する(ステップS31)。
上述したとおり、javascriptを用いて描画できる領域であるCanvasでは、通常であればCanvas上をマウスが動いたか否か程度の操作しか検知できない。埋込プログラム20が埋込画面21を作りこむことでCanvas上のボタンに対するマウス操作又はキーボード操作もブラウザ30で発生したイベントとして検知が可能となる。
埋込プログラム20は、検知されたイベントが埋込画面21の再描画が必要なイベントである場合には、画面部品jsファイルの描画処理を呼び出して実行する(ステップS32)。これにより、イベントに応じて埋込画面21が再描画される。埋込画面21の再描画が必要なイベントとは、例えば、埋込画面21のボタンにカーソルが合わせられた、ブラウザ30の画面サイズが変更されたといったイベントである。例えば、埋込画面21のボタンにカーソルが合わせられた場合には、埋込プログラム20はボタンの色を変化させる。また、ブラウザ30の画面サイズが変更された場合には、埋込プログラム20は埋込画面21のサイズを変化させる。
埋込プログラム20は、検知されたイベントが指定イベントである場合には、処理をステップS41に進める。
埋込プログラム20は、検知された指定イベントに対応するシグナルを発生させる(ステップS41)。シグナルは、埋込プログラム20におけるイベントである。埋込プログラム20は、シグナルに対応するイベントメソッドがあるか否かを判定する(ステップS42)。イベントメソッドがあった場合には、埋込プログラム20は、イベントメソッドの実行を第2サーバ102に指示する(ステップS43)。一方、イベントメソッドがなかった場合には、埋込プログラム20は、処理をステップS31に戻す。
イベントメソッドの実行が指示されると、第2サーバ102は、実行モジュールの該当するイベントメソッドを呼び出す(ステップS44)。すると、実行モジュールの該当するイベントメソッドが実行される(ステップS45)。そして、埋込プログラム20は、イベントメソッドの実行結果に応じて、親画面11に値を設定する、又は、埋込画面21を再描画するといった処理を行う(ステップS46)。なお、イベントメソッドによっては、ステップS46の処理はスキップされる。
そして、処理がステップS31に戻される。
シグナルとは指定イベントが検知されたとき、その指定イベントが検知されたという情報を示す。シグナルに対応するイベントメゾットとは、指定イベントに応じた第2サーバ102での処理内容を定義したものである。シグナルに対応するイベントメゾットがあるか否かの情報は、第2サーバ102および埋込プログラム20で連携されているものとする。
図7及び図8を参照して、実施の形態1に係る埋込プログラム20を用いて親プログラム10に機能追加する方法を説明する。図7及び図8では、比較のため、インラインフレームを用いた方式で親プログラム10に機能追加した場合についても示されている。
図7では、親画面11のテキストボックスに入力された情報を埋込プログラム20に受け渡す機能を追加する例が示されている。
実施の形態1における方法でこの機能を追加する場合には、親プログラム10側には、埋込プログラム20を呼び出すscriptタグを追加する。埋込プログラム20側には、親画面11のテキストボックスに情報が入力されたことを指定イベントとして設定し、指定イベントが検知された場合に情報を取得する処理を記述する。
これに対して、インラインフレームを用いた方式でこの機能を追加する場合には、親プログラム10側には、親画面11のテキストボックスに情報が入力された場合に、入力された情報をpostMessageするように記述する。postMessageは、ブラウザ内のウインドウ間通信である。埋込プログラム20側には、メッセージ待機イベント(onMessage)を受け取った場合に、メッセージの送信元のURLが親プログラム10であれば、情報を取得するよう記述にする。URLは、Uniform Resource Locatorの略である。
図8では、埋込画面21のボタンが押下された場合に埋込プログラム20内の情報を親画面11のテキストボックスに設定する機能を追加する例が示されている。
実施の形態1における方法でこの機能を追加する場合には、親プログラム10側には、埋込プログラム20を呼び出すscriptタグを追加する。埋込プログラム20側には、埋込画面21のボタンが押下されたことを指定イベントとして設定し、指定イベントが検知された場合に埋込プログラム20内の情報を親画面11のテキストボックスに設定する処理を記述する。なお、親画面11と埋込画面21とは同一のウェブ画面であるため、特別な処理はいらず、単に埋込プログラム20内の情報を親画面11のテキストボックスに設定すればよい。
これに対して、インラインフレームを用いた方式でこの機能を追加する場合には、親プログラム10側には、メッセージ待機イベント(onMessage)を受け取った場合に、メッセージの送信元のURLが埋込プログラム20であれば、情報を取得して親画面11のテキストボックスに設定する処理を記述する。埋込プログラム20には、埋込画面21のボタンが押下された場合に、入力された情報をpostMessageするように記述する。
***実施の形態1の効果***
以上のように、実施の形態1に係る画面表示システム100では、埋込プログラム20は親プログラム10から呼び出され実行される。これにより、ブラウザ30から見た場合に埋込プログラム20は、親プログラム10とともに1つのウェブ画面を構成するプログラムになる。そのため、埋込プログラム20が親画面11を表示したブラウザ30における指定イベントを検出し、親プログラム10と埋込プログラム20との間で情報を連携させることが可能になる。その結果、親プログラム10には、埋込プログラム20を呼び出す処理だけを記述するだけで情報の連携が可能になる。
図7及び図8を参照して説明したように、親プログラム10側には、原則として埋込プログラム20を呼び出すscriptタグを追加するだけでよい。そのため、親プログラム10が他社の製品であり、親プログラム10の仕様が分からないような場合であっても、親プログラム10に対する作業を容易に行うことができる。また、親プログラム10がクラウドシステムである場合にも、scriptタグの追加だけを許可すれば、親プログラム10に対する作業を容易に行うことができる。
これに対して、インラインフレームを用いた方式では、連携先と連携元とのプログラムの構造を互いに考慮し、連携先と連携元とが密に結合した実装が必要になる。つまり、親プログラム10側についても仕様を把握した上で改修を行う必要がある。そのため、親プログラム10が他社の製品であり、親プログラム10の仕様が分からないような場合には、親プログラム10に対する作業は困難である。また、親プログラム10がクラウドシステムである場合には、作業を許可することが難しく、親プログラム10に対する作業は困難である。
このような特徴を利用することで、他社の製品であるウェブアプリケーションプログラムに対して、任意の機能を追加することができる。また、古くなり、サポートが切れてしまっているようなウェブアプリケーションプログラムに対して、任意の機能を追加することができる。また、ベースとなる機能を作り込んだウェブアプリケーションプログラムをクラウドシステムとして実装しておき、提供先毎に埋込プログラム20を作り込んで連携させることで、クラウドシステムをカスタマイズすることができる。
実施の形態1に係る画面表示システム100では、上述した通り、親プログラム10にはscriptタグを追加するだけでよい。そのため、埋込プログラム20により機能追加した場合であっても、親プログラム10についてのテストは埋込プログラム20と関連する部分だけで十分である。そのため、機能追加におけるテスト工数を抑えることが可能である。
また、インラインフレームを用いた方式では、同一生成元ポリシーの制限があり、第1サーバ101と第2サーバ102とが同一ドメインでない場合には、情報の取得及び情報の操作に制限がかけられる。
しかし、実施の形態1に係る画面表示システム100では、ブラウザ30から見た場合に埋込プログラム20は、親プログラム10とともに1つのウェブ画面を構成するプログラムになる。そのため、情報の取得及び情報の操作に対して、インラインフレームを用いた方式のような制限はない。
また、インラインフレームを用いた方式では、連携する情報が他のウェブアプリケーションプログラムによって傍受されるリスクがある。具体的には、図7の例で、親プログラム10が親画面11のテキストボックスに情報が入力された場合に、入力された情報をpostMessageする。このとき、親画面11に表示されたどのウインドウからでも、postMessageされた情報を取得できる。そのため、悪意のあるウインドウが表示されてしまうと、情報を取得されてしまう恐れがある。
しかし、実施の形態1に係る画面表示システム100では、他のウインドウから情報を取得される恐れはない。
***他の構成***
<変形例1>
実施の形態1では、親画面11の一部として埋込画面21が描画された。しかし、埋込画面21は、描画されなくてもよい。この場合には、埋込プログラム20は、親画面11に情報を表示せず、親プログラム10の情報を用いた処理を行うプログラムである。例えば、埋込プログラム20は、親プログラム10に入力された情報を編集等して記録するようなプログラムである。
<変形例2>
実施の形態1では、親プログラム10を実行するブラウザ30を備えたユーザ端末103と、埋込プログラム20を記憶する第2サーバ102とが別の装置であった。しかし、図9に示すように、親プログラム10を実行するブラウザ30を備えたユーザ端末103に埋込プログラム20が記憶されていてもよい。
この場合には、埋込プログラム20は、ユーザ端末103に接続されたデバイス104の情報を取得することが可能である。デバイス104は、具体例としては、ICカードリーダと、カメラといったものである。例えば、埋込プログラム20は、デバイス104の情報を取得し、その情報を親画面11に設定することができる。これにより、親プログラム10と、ローカルデバイスであるデバイス104とで情報を連携させた処理を行うようにすることも可能である。
<変形例3>
実施の形態1では、埋込プログラム20は1つだけであった。しかし、親プログラム10は、複数の埋込プログラム20を呼び出してもよい。これにより、親プログラム10に対して複数の機能を追加することが可能である。また、複数の埋込プログラム20のうち、どの埋込プログラム20と親プログラム10を情報連携させるかを親画面11で選択できるようにしてもよい。これにより、ユーザが追加する機能を選択することが可能になる。
以下、本開示の諸態様を付記としてまとめて記載する。
(付記1)
親画面をブラウザに表示するウェブアプリケーションプログラムである親プログラムから呼び出される、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであり、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる埋込プログラム。
(付記2)
前記情報連携処理では、前記親プログラムで管理される情報を取得して、取得した情報を用いて前記指定イベントに応じた処理を実行する
付記1に記載の埋込プログラム。
(付記3)
前記埋込プログラムは、さらに、
前記親画面の一部として埋込画面を描画する埋込描画処理
をコンピュータに実行させ、
前記情報連携処理では、取得された情報に基づき前記埋込画面を更新する処理を実行する
付記2に記載の埋込プログラム。
(付記4)
前記情報連携処理では、前記埋込プログラムで管理される情報を前記親画面に設定する
付記1から3までのいずれか1項に記載の埋込プログラム。
(付記5)
前記情報連携処理では、前記埋込プログラムが配置されたコンピュータに接続された機器から取得された情報を前記親画面に設定する
付記4に記載の埋込プログラム。
(付記6)
前記埋込プログラムは、前記親プログラムとは異なるコンピュータに配置された
付記1から5までのいずれか1項に記載の埋込プログラム。
(付記7)
ウェブアプリケーションプログラムである親プログラムと、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムとを有する画面表示プログラムであり、
前記親プログラムは、
親画面をブラウザに表示する親描画処理と、
前記埋込プログラムを呼び出す呼出し処理と
をコンピュータに実行させ、
前記埋込プログラムは、
前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
前記イベント検知処理によって前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
をコンピュータに実行させる画面表示プログラム。
(付記8)
ウェブアプリケーションプログラムである親プログラムが、親画面をブラウザに表示し、
前記親プログラムが、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムを呼出し、
前記埋込プログラムが、前記ブラウザに対して発生した指定イベントを検知し、
前記埋込プログラムが、前記指定イベントが検知されると、前記親プログラムと前記埋込プログラムとの間で情報を連携させる画面表示方法。
以上、本開示の実施の形態及び変形例について説明した。これらの実施の形態及び変形例のうち、いくつかを組み合わせて実施してもよい。また、いずれか1つ又はいくつかを部分的に実施してもよい。なお、本開示は、以上の実施の形態及び変形例に限定されるものではなく、必要に応じて種々の変更が可能である。
100 画面表示システム、101 第1サーバ、102 第2サーバ、103 ユーザ端末、104 デバイス、10 親プログラム、11 親画面、20 埋込プログラム、21 埋込画面、30 ブラウザ、201 プロセッサ、202 メモリ、203 ストレージ、204 通信インタフェース。

Claims (9)

  1. 親画面をブラウザに表示するウェブアプリケーションプログラムである第1サーバに配置された親プログラムから呼び出される、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであって、前記第1サーバとは異なる第2サーバに配置された埋込プログラムであり、
    前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
    前記イベント検知処理によって前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
    をコンピュータに実行させる埋込プログラム。
  2. 前記情報連携処理では、前記親プログラムで管理される情報を取得して、取得した情報を用いて前記指定イベントに応じた処理を実行する
    請求項1に記載の埋込プログラム。
  3. 前記埋込プログラムは、さらに、
    前記親画面の一部として埋込画面を描画する埋込描画処理
    をコンピュータに実行させ、
    前記情報連携処理では、取得された情報に基づき前記埋込画面を更新する処理を実行する
    請求項2に記載の埋込プログラム。
  4. 前記情報連携処理では、前記埋込プログラムで管理される情報を前記親画面に設定する請求項1に記載の埋込プログラム。
  5. 前記情報連携処理では、前記埋込プログラムが配置されたコンピュータに接続された機器から取得された情報を前記親画面に設定する
    請求項4に記載の埋込プログラム。
  6. ウェブアプリケーションプログラムである親プログラムであって、第1サーバに配置された親プログラムと、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであって、前記第1サーバとは異なる第2サーバに配置された埋込プログラムとを有する画面表示プログラムであり、
    前記親プログラムは、
    親画面をブラウザに表示する親描画処理と、
    前記埋込プログラムを呼び出す呼出し処理と
    をコンピュータに実行させ、
    前記埋込プログラムは、
    前記ブラウザに対して発生した指定イベントを検知するイベント検知処理と、
    前記イベント検知処理によって前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる情報連携処理と
    をコンピュータに実行させる画面表示プログラム。
  7. 前記呼出し処理では、複数の埋込プログラムを呼び出し、
    前記親プログラムは、さらに、
    前記情報連携処理において前記複数の埋込プログラムのうちいずれの埋込プログラムとの間で情報を連携させるかの選択を受け付ける選択処理
    をコンピュータに実行させる請求項6に記載の画面表示プログラム。
  8. ウェブアプリケーションプログラムである親プログラムであって、第1サーバに配置された親プログラムが、親画面をブラウザに表示し、
    前記親プログラムが、前記親プログラムとは異なるウェブアプリケーションプログラムである埋込プログラムであって、前記第1サーバとは異なる第2サーバに配置された埋込プログラムを呼出し、
    前記埋込プログラムが、前記ブラウザに対して発生した指定イベントを検知し、
    前記埋込プログラムが、前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる画面表示方法。
  9. 前記親プログラムは、複数の埋込プログラムを呼び出し、
    前記親プログラムは、前記複数の埋込プログラムのうちいずれの埋込プログラムとの間で情報を連携させるかの選択を受け付け、
    前記複数の埋込プログラムのうち選択された埋込プログラムが、前記指定イベントを検知し、
    前記複数の埋込プログラムのうち選択された埋込プログラムが、前記指定イベントが検知されると、前記指定イベントに対応するイベントメソッドの実行を前記第2サーバに指示し、前記イベントメソッドが実行されて得られた実行結果に応じて、前記親プログラムと前記埋込プログラムとの間で情報を連携させる
    請求項8に記載の画面表示方法。
JP2023072879A 2023-04-27 2023-04-27 埋込プログラム、画面表示プログラム及び画面表示方法 Active JP7503685B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023072879A JP7503685B1 (ja) 2023-04-27 2023-04-27 埋込プログラム、画面表示プログラム及び画面表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2023072879A JP7503685B1 (ja) 2023-04-27 2023-04-27 埋込プログラム、画面表示プログラム及び画面表示方法

Publications (1)

Publication Number Publication Date
JP7503685B1 true JP7503685B1 (ja) 2024-06-20

Family

ID=91483492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023072879A Active JP7503685B1 (ja) 2023-04-27 2023-04-27 埋込プログラム、画面表示プログラム及び画面表示方法

Country Status (1)

Country Link
JP (1) JP7503685B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050765A (ja) 2001-05-31 2003-02-21 Recruit Co Ltd 情報提供システム、情報提供方法及びプログラム
JP2013535059A (ja) 2010-06-16 2013-09-09 ブライトタグ インコーポレイテッド 統一されたデータの収集および配信
WO2019035368A1 (ja) 2017-08-16 2019-02-21 株式会社ジグザグ Ecの海外への提供を支援するための方法及びプログラム並びにそれを用いる装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050765A (ja) 2001-05-31 2003-02-21 Recruit Co Ltd 情報提供システム、情報提供方法及びプログラム
JP2013535059A (ja) 2010-06-16 2013-09-09 ブライトタグ インコーポレイテッド 統一されたデータの収集および配信
WO2019035368A1 (ja) 2017-08-16 2019-02-21 株式会社ジグザグ Ecの海外への提供を支援するための方法及びプログラム並びにそれを用いる装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
[初心者] HTMLのcanvasとJavaScriptでお絵かきアプリを作る[ベース作り編] | Web白熱教室,[オンライン],2018年09月14日,[検索日 2024.01.10] インターネット: <URL: https://tsuyopon.xyz/2018/09/14/how-to-create-drawing-app-part1>
Canvasのマウスとタッチのイベントを表示するプログラム,[オンライン],2020年01月07日,[検索日 2024.01.10], インターネット:<URL: https://sekika.github.io/2020/01/07/CanvasEvent>
Github sekika/sekika.github.io/js/canvasevent.js,[オンライン],2020年01月07日,[検索日 2024.01.10], インターネット: <URL: https://github.com/sekika/sekika.github.io/blob/4fd1a5964d6dbf764cc4deb2510ac04f0f4e9b71/js/canvasevent.js>
フルトン スティーブ Steve Fulton,HTML5 Canvas 初版 HTML5 Canvas,第1版,株式会社オライリー・ジャパン オライリー ティム,2012年01月20日,p1-3,6,8,15,63-65

Similar Documents

Publication Publication Date Title
JP5430743B2 (ja) グラフィカルユーザインタフェース内でスクレープされたウェブページを提供するための方法および装置
US20210303108A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
US8352875B2 (en) System and method for integrating a plurality of software applications
US20170329862A1 (en) Infinite Scrolling
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
JP2016522481A (ja) クライアント側ページ処理
US9122762B2 (en) Method and system to maintain a web page
JP2011003182A (ja) キーワード表示方法およびそのシステム
JP4846832B2 (ja) Webページの表示方法、計算機システム及びプログラム
JP7503685B1 (ja) 埋込プログラム、画面表示プログラム及び画面表示方法
US10353979B2 (en) Web-user navigating information recording method, apparatus and storage medium
JP7351948B2 (ja) 画面制御装置、画面制御方法及び画面制御プログラム
US20230350532A1 (en) System and method for on-screen graphical user interface encapsulation and application history reproduction
CN116991694B (zh) 一种网页操作采集方法
CN118041995B (zh) 通用的主流媒体授权主页的实现方法及装置
CN117348960A (zh) 一种网页内容导出方法、装置、设备及介质
CN116932126A (zh) 一种应用嵌入方法、装置、终端、介质及程序产品
CN117850934A (zh) 一种基于chrome浏览器扩展的增强网页版云电脑工具栏的装置
CN118227283A (zh) 一种Matlab软件调用方法、装置及存储介质
JP5733063B2 (ja) サーバ装置及びwebページ提供方法
US20190042546A1 (en) Unified graphical user interface views through frame break out
CN114895901A (zh) 一种页面处理方法、装置、存储介质和电子设备
CN116361582A (zh) 数据处理方法、装置、电子设备以及存储介质
JP2024100388A (ja) 情報処理システムおよびプログラム
CN115760087A (zh) 多格式电子凭证的生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240123

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20240311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240325

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: 20240604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240610

R150 Certificate of patent or registration of utility model

Ref document number: 7503685

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150