JP5832056B1 - Webページの表示のためのプログラム、端末装置、およびサーバ装置 - Google Patents
Webページの表示のためのプログラム、端末装置、およびサーバ装置 Download PDFInfo
- Publication number
- JP5832056B1 JP5832056B1 JP2015504784A JP2015504784A JP5832056B1 JP 5832056 B1 JP5832056 B1 JP 5832056B1 JP 2015504784 A JP2015504784 A JP 2015504784A JP 2015504784 A JP2015504784 A JP 2015504784A JP 5832056 B1 JP5832056 B1 JP 5832056B1
- Authority
- JP
- Japan
- Prior art keywords
- data
- display instruction
- program
- terminal device
- tree
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
- G06F40/154—Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
プロキシサーバ装置12は、Webサーバ装置13から端末装置11に送信されるWebページの文書データ内のスクリプトに、スクリプトの実行のイベント生成を指示するコードYを追加し、また、当該文書データに従い表示されるWebページのDOMツリーを所定の規則に従い変更するスクリプトXを当該文書データに追加した後、当該文書データを端末装置11に送信する。端末装置11は、受信した文書データに含まれるスクリプトの実行に伴い、コードYに従いイベントを生成する。端末装置11は、当該イベントをトリガに、スクリプトXに従いDOMツリーを所定の規則に従い変更する。端末装置11は変更したDOMツリーに従い、Webページを表示する。
Description
本発明は、端末装置においてWebページを表示させるための技術に関する。
端末装置において実行されるWebブラウザにより、サーバ装置から配信されるWebページを表示する技術が広く普及している。Webページの配信者がWebページの内容に変更を加えたい場合、通常、WebページのデザイナがWebページに変更を加え、変更後のWebページをサーバ装置にアップロードする必要がある。
Webページに対する変更を迅速に行う技術を提案する特許文献として、例えば特許文献1がある。特許文献1には、クライアント・アプリケーションによって、Webページに含まれる対象コンテンツをレンダリングするリクエストをインターセプトし、リクエストされた対象コンテンツと要素が異なる1以上の置換コンテンツの中から所定の基準に基づいて選択したコンテンツをリクエストされた対象コンテンツに代えてレンダリングを行うことにより、Webページの表示内容を変更する技術が開示されている。
特許文献1に記載の技術によれば、例えば、Webページの広告効果の向上のために、Webページに含まれる文言をWebページの閲覧者の属性等に応じて容易に変更することができる。
Webページの基本構成は、現在、HTML、XML、XHTML等の言語で記述されている。以下、Webページの基本構成を記述したデータを「文書」という。近年では、Webページの外観を指定するスタイルシートを、HTML等で記述されたWebページの文書に適用することにより、Webページの外観を変更することが広く行われている。スタイルシートの記述には、現在、CSS、DSSSL、XSL等の言語が用いられている。
Webページの文書にはプログラムが含まれる場合がある。Webページの文書内に含まれるプログラムはテキスト形式で記述され、その多くはインタープリタ型の簡易な言語で記述されるため、「スクリプト」と呼ばれることが多い。以下、本願において、Webページの文書に内包されるプログラムを便宜的に「スクリプト」と呼ぶが、本願において「スクリプト」は「プログラム」と同義である。すなわち、本願において、「スクリプト」という場合、そのプログラムの記述に使用されるプログラミング言語が簡易であるか否か、インタープリタ型であるか否か、等が限定されることはない。また、「スクリプトを実行する」という場合、スクリプトにより呼び出されるプログラムの実行を含む。すなわち、スクリプトには実行されるコードの全てが記述されている必要はない。
スクリプトはWebブラウザにより解釈され実行される。スクリプトによれば、Webページ内で表示するコンテンツの切り替え、Webページ内で表示する文書やスタイルシートの変更等が可能となる。従って、Webページのデザイナは、Webページの文書にスクリプトを記述することにより、閲覧者との間でインタラクティブに動作するWebページや、Webページの閲覧者の属性、閲覧時刻、閲覧場所等に応じて表示内容が変化するWebページ等の、表現力豊かなWebページをデザインすることができる。
スクリプトの記述には、現在、JavaScript(登録商標)、VBScript、DHTML等が用いられている。なお、JavaScriptによってHTTPリクエストを所定のサーバ装置に送信し、HTML等で記述された新たなWebページの文書を当該サーバ装置から取得し、閲覧者のWebページに対する操作等と非同期にWebページの表示内容を変更するAjax等の技術も普及しつつある。
ところで、既存のWebページに対し、所定の規則に従った変更を加えたい場合がある。典型的な例としては、Webページ中に表示される特定の言葉を一括して他の言葉に置換したり、Webページ中に表示される画像の解像度を所定の比率で増減したり、特定のフォントを他のフォントに変更したり、HTMLの属性の値を別の値に変更したりすることが挙げられる。
Webページの要素および属性のうち、HTML等で記述された文書(スクリプト部分を除く)およびCSS等で記述されたスタイルシートに記述されているものに関しては、これらの言語で記述されているテキストを所定の規則に従い置換することにより、Webページに対する所定の規則に従った変更を容易に行うことができる。
一方、Webページの要素および属性のうち、スクリプトの実行に伴い定まるものに関しては、所定の規則に従った変更を容易に行う術がない。スクリプトはプログラムであり、スクリプトの実行内容はWebページが表示される環境や入力データ等に応じて様々に変化するため、スクリプトそのものからは、スクリプトに従いWebページに表示される要素やその属性を特定できないためである。
そのため、従来、Webページに対し所定の規則に従った変更を加えたい場合、WebデザイナはWebページの文書内のスクリプトに関しては、スクリプトそのものや、スクリプトの実行により取得されるコンテンツ等を個別に変更していく必要があった。そのため、スクリプトが用いられたWebページは閲覧者に対し豊かな表現力の表示内容を提供できるという長所を持つ一方で、メインテナンス性が低いという短所を持っている。
上述の背景に鑑み、本発明は、スクリプトが用いられたWebページに対し、所定の規則に従った変更を容易に反映可能とする手段の提供を目的とする。
上述した課題を解決するために、本発明は、Webページの表示をWebブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する表示指示データ受信処理と、前記表示指示データ受信処理において受信した前記表示指示データに基づいて、前記Webページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成処理と、前記表示指示データ受信処理において受信した前記表示指示データが前記Webページに表示される1以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記1以上のコンテンツデータの送信を要求する要求データを前記1以上のコンテンツデータの配信元のサーバ装置に送信する送信処理と、前記送信処理において送信した前記要求データに対する応答として送信されてくる前記1以上のコンテンツデータを受信するコンテンツデータ受信処理とを実行し、前記表示指示データ受信処理において受信した前記表示指示データまたは前記コンテンツデータ受信処理において受信した前記1以上のコンテンツデータが1以上のプログラムを含む場合、前記1以上のプログラムの各々を実行し、前記1以上のプログラムの各々の実行に伴い前記生成処理を繰り返し、前記生成処理において生成した前記ツリーデータに従いWebページを表す画像データを生成し、当該画像データが表すWebページの表示を表示装置に指示する表示指示処理を実行するコンピュータに、1以上のイベントの種別と、ツリーデータの変更のための1以上の条件と、ツリーデータの変更のための1以上の規則であって前記1以上の条件の各々に対応した1以上の規則とを示す規則データを取得する取得処理と、前記表示指示データ受信処理の後に前記規則データが示す前記1以上の種別のイベントの発生の監視を開始し、当該監視において前記1以上の種別のイベントの発生を検出する検出処理と、前記検出処理において前記1以上の種別のうちのいずれか1つの種別のイベントの発生が検出された場合、その時点で前記生成処理において生成されている前記ツリーデータが、前記規則データが示す前記1以上の条件のうちのいずれか1つの条件を満たすか否かを判定する判定処理と、前記判定処理において前記ツリーデータが前記1以上の条件のうちのいずれか1つの条件を満たすと判定した場合、前記規則データが示す前記1以上の規則のうち前記判定処理において満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更処理とを実行させ、前記変更処理において前記ツリーデータが変更された場合、変更後の前記ツリーデータを用いて前記表示指示処理を実行させるためのプログラムを第1の態様として提供する。
また、上記の第1の態様にかかるプログラムにおいて、前記規則データは、前記判定処理の実行のトリガとなる2以上のイベントの種別と、前記2以上のイベントの種別の各々に対応する、ツリーデータの変更のための2以上の条件とツリーデータの変更のための2以上の規則とを示し、前記コンピュータに、前記判定処理において、前記規則データが示す2以上の条件のうち前記検出処理において発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定させ、前記変更処理において、前記規則データが示す2以上の規則のうち前記検出処理において発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更させる、という構成が第2の態様として採用されてもよい。
また、上記の第2の態様にかかるプログラムにおいて、前記規則データは、複数のプログラムの各々の実行を前記判定処理の実行のトリガとなる異なるイベントの種別として示し、前記コンピュータに、前記検出処理において前記複数のプログラムのうちのいずれか1つのプログラムの実行を検出した場合、前記判定処理において、前記規則データが示す2以上の条件のうち前記検出処理において実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定させる、という構成が第3の態様として採用されてもよい。
また、上記の第1の態様にかかるプログラムにおいて、前記規則データは、プログラムの実行を前記判定処理の実行のトリガとなるイベントの種別として示し、前記コンピュータに、前記検出処理においてプログラムの実行を検出した場合、前記判定処理を実行させる、という構成が第4の態様として採用されてもよい。
また、上記の第1の態様にかかるプログラムにおいて、当該プログラムが、前記コンピュータが前記表示指示データ受信処理において受信する前記表示指示データに含まれる、という構成が第5の態様として採用されてもよい。
また、本発明は、上記の第1の態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、前記表示指示データに、上記の第1の態様にかかるプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加処理と、前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理とを実行させるためのプログラムを第6の態様として提供する。
また、上記の第6の態様にかかるプログラムにおいて、前記サーバ装置用のコンピュータに、前記追加処理において、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを上記の第1の態様にかかるプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加させる、という構成が第7の態様として採用されてもよい。
また、本発明は、上記の第1の態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、前記表示指示データに、上記の第1の態様にかかるプログラムを追加する追加処理と、前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理とを実行させるためのプログラムを第8の態様として提供する。
また、本発明は、Webページの表示をWebブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する受信手段と、前記受信手段により受信された前記表示指示データに基づいて、前記Webページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成手段と、前記受信手段により受信された前記表示指示データが前記Webページに表示される1以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記1以上のコンテンツデータの送信を要求する要求データを前記1以上のコンテンツデータの配信元のサーバ装置に送信する送信手段とを備え、前記受信手段は、前記送信手段により送信された前記要求データに対する応答として送信されてくる前記1以上のコンテンツデータを受信し、前記受信手段により受信された前記表示指示データまたは前記1以上のコンテンツデータが1以上のプログラムを含む場合、前記1以上のプログラムの各々を実行する実行手段を備え、前記生成手段は、前記実行手段による前記1以上のプログラムの各々の実行に伴いツリーデータの生成を繰り返し、1以上のイベントの種別と、ツリーデータの変更のための1以上の条件と、ツリーデータの変更のための1以上の規則であって前記1以上の条件の各々に対応した1以上の規則とを示す規則データを取得する取得手段と、前記受信手段による前記表示指示データの受信の後に前記規則データが示す前記1以上の種別のイベントの発生の監視を開始し、当該監視において前記1以上の種別のイベントの発生を検出する検出手段と、前記検出手段により前記1以上の種別のうちのいずれか1つの種別のイベントの発生が検出された場合、その時点で前記生成手段により生成されている前記ツリーデータが、前記規則データが示す前記1以上の条件のうちのいずれか1つの条件を満たすか否かを判定する判定手段と、前記判定手段により前記ツリーデータが前記1以上の条件のうちのいずれか1つの条件を満たすと判定された場合、前記規則データが示す前記1以上の規則のうち前記判定手段により満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更手段と、前記生成手段により生成された前記ツリーデータに従いWebページを表す画像データを生成し、当該画像データが表すWebページの表示を表示装置に指示し、前記変更手段により前記ツリーデータが変更された場合は変更後の前記ツリーデータに従いWebページを表す画像データを生成し、当該画像データが表すWebページの表示を前記表示装置に指示する表示指示手段とを備える端末装置を第9の態様として提供する。
また、上記の第9の態様にかかる端末装置において、前記規則データは、前記判定手段による前記判定の実行のトリガとなる2以上のイベントの種別と、前記2以上のイベントの種別の各々に対応する、ツリーデータの変更のための2以上の条件とツリーデータの変更のための2以上の規則とを示し、前記判定手段は、前記規則データが示す2以上の条件のうち前記検出手段により発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定し、前記変更手段は、前記規則データが示す2以上の規則のうち前記検出手段により発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更する、という構成が第10の態様として採用されてもよい。
また、上記の第10の態様にかかる端末装置において、前記規則データは、複数のプログラムの各々の実行を前記判定手段による前記判定の実行のトリガとなる異なるイベントの種別として示し、前記検出手段により前記複数のプログラムのうちのいずれか1つのプログラムの実行が検出された場合、前記判定手段は、前記規則データが示す2以上の条件のうち前記検出手段により実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定する、という構成が第11の態様として採用されてもよい。
また、上記の第9の態様にかかる端末装置において、前記規則データは、プログラムの実行を前記判定手段による前記判定の実行のトリガとなるイベントの種別として示し、前記検出手段によりプログラムの実行が検出された場合、前記判定手段は前記判定を実行する、という構成が第12の態様として採用されてもよい。
また、本発明は、上記の第1の実施態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、前記表示指示データに、上記の第1の態様にかかるプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加手段と、前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段とを備えるサーバ装置を第13の態様として提供する。
また、上記の第13の態様にかかるサーバ装置において、前記追加手段は、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを上記の第1の態様にかかるプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加する、という構成が第14の態様として採用されてもよい。
また、本発明は、上記の第1の態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、前記表示指示データに、上記の第1の態様にかかるプログラムを追加する追加手段と、前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段とを備えるサーバ装置を第15の態様として提供する。
本発明によれば、Webページの表示を指示する表示指示データにプログラムが含まれる場合であっても、プログラムの実行の結果が反映されたツリーデータが所定の条件を満たす場合、所定の規則に従いツリーデータが変更されるため、スクリプトの有無にかかわらず、Webページに対する所定の規則に従う変更が容易に実現される。
[実施形態の構成]
以下に、本発明の一実施形態にかかるWebページ表示システム1を説明する。Webページ表示システム1は、Webページにスクリプトが含まれる場合であっても、当該Webページのデザイナが当該Webページに対し所定の規則に従う変更を容易に行うことを可能とするシステムである。
以下に、本発明の一実施形態にかかるWebページ表示システム1を説明する。Webページ表示システム1は、Webページにスクリプトが含まれる場合であっても、当該Webページのデザイナが当該Webページに対し所定の規則に従う変更を容易に行うことを可能とするシステムである。
図1は、Webページ表示システム1の全体構成を示した図である。Webページ表示システム1は、端末装置11と、プロキシサーバ装置12と、Webサーバ装置13を備える。端末装置11、プロキシサーバ装置12およびWebサーバ装置13は、ネットワーク9に接続している。端末装置11とWebサーバ装置13はネットワーク9を介して互いにデータ通信を行う。
端末装置11は、Webページの閲覧者(以下、「ユーザ」という)に対しWebページの表示を行う。プロキシサーバ装置12は端末装置11とWebサーバ装置13との間のデータ通信を中継し、Webサーバ装置13に対し端末装置11の代理装置として振る舞う。Webサーバ装置13は端末装置11からの要求に応じて、Webページの表示に要する各種データを端末装置11に宛てて送信する。
なお、図1においては端末装置11、プロキシサーバ装置12、およびWebサーバ装置13は説明の便宜のため、各々1つのみ示されているが、これらの装置の数は2以上であってもよい。例えば、端末装置11の数はWebページ表示システム1を利用するユーザ(閲覧者)の数に応じて様々に変化する。また、Webサーバ装置13の数は、Webページを提供するサイトの数、Webページの表示に用いられる各種コンテンツの量や種別数等に応じて様々に変化する。
Webサーバ装置13から端末装置11に宛てて送信されるWebページの表示に要する各種データとは、Webページの表示を指示する表示指示データや、Webページに表示される画像等のコンテンツを示すコンテンツデータ等である。また、Webページの表示を指示する表示指示データには、HTML等の言語で記述されWebページの文書を示す文書データや、CSS等の言語で記述されWebページの外観を示すスタイルシートデータ等が含まれる。文書データにはスクリプトが含まれる場合がある。文書データに含まれるスクリプトを示す部分もまた、表示指示データの一部である。
図2は、端末装置11のハードウェア構成の一例を示した図である。端末装置11のハードウェア構成は一般的な端末装置用のコンピュータである。図2に例示のコンピュータはタッチディスプレイを内蔵するタブレット型のコンピュータであり、各種データを記憶するメモリ1101、メモリ1101に記憶されているプログラムに従った各種処理を実行するプロセッサ1102、ネットワーク9を介して他の装置との間でデータ通信を行う通信IF(Interface)1103、ユーザに対し各種画像を表示するとともにユーザのタッチ操作を受け付けるタッチディスプレイ1104を備える。
端末装置11に用いられるコンピュータの種別はタブレット型に限られず、ノート型やデスクトップ型等のいずれであってもよい。従って、端末装置11は、タッチディスプレイ1104に代えて、例えば液晶ディスプレイ等の表示装置と、キーボードやマウス等の操作装置とを個別に備えていてもよい。また、端末装置11は、表示装置と操作装置の少なくとも一部を内蔵せず、外部の装置との間のデータ入出力を行う入出力IFを備え、入出力IFに接続された外部の表示装置や操作装置との間で各種データの入出力を行う構成であってもよい。
図3は、端末装置11の機能構成を示した図である。すなわち、図2に示したハードウェア構成を備えるコンピュータがプログラムに従う処理を行うことにより、図3に示す構成部を備える装置として機能する。端末装置11は、機能構成部として、まず、プロキシサーバ装置12を介してWebサーバ装置13にWebページの表示に要する各種データの要求等を送信する送信手段111、プロキシサーバ装置12を介してWebサーバ装置13からWebページの表示に要する各種データ等を受信する受信手段112(取得手段の一例)、Webページの文書データに含まれるスクリプト等に従った各種処理を実行する実行手段113、Webページの表示指示データに従い表示されるWebページに含まれる要素の間の関係をツリー構造で示すツリーデータを生成する生成手段114を備える。
端末装置11は、さらに、所定のイベントの発生を検出する検出手段115、生成手段114により生成されたツリーデータが示すツリー構造に所定の条件を満たす1以上の枝が含まれるか否かを判定する判定手段116、判定手段116による判定においてツリー構造に所定の条件を満たす1以上の枝が含まれると判定された場合に当該1以上の枝を所定の規則に従い変更する変更手段117、生成手段114により生成されたツリーデータまたは変更手段117により変更されたツリーデータに従いWebページの表示をタッチディスプレイ1104が備えるディスプレイ(表示装置の一例)に指示する表示指示手段118を備える。
図4は、プロキシサーバ装置12のハードウェア構成の一例を示した図である。プロキシサーバ装置12のハードウェア構成は一般的なサーバ装置用のコンピュータである。図4に例示のコンピュータは、各種データを記憶するメモリ1201、メモリ1201に記憶されているプログラムに従った各種処理を実行するプロセッサ1202、ネットワーク9を介して他の装置との間でデータ通信を行う通信IF1203を備える。
図5は、プロキシサーバ装置12の機能構成を示した図である。すなわち、図4に示したハードウェア構成を備えるコンピュータがプログラムに従う処理を行うことにより、図5に示す構成部を備える装置として機能する。プロキシサーバ装置12は、機能構成部として、端末装置11およびWebサーバ装置13から各種データを受信する受信手段121、端末装置11およびWebサーバ装置13に各種データを送信する送信手段122、Webサーバ装置13から受信したWebページの表示指示データにスクリプトやコードを追加する追加手段123を備える。
図6は、Webサーバ装置13のハードウェア構成の一例を示した図である。Webサーバ装置13のハードウェア構成は一般的なサーバ装置用のコンピュータである。図6に例示のコンピュータは、各種データを記憶するメモリ1301、メモリ1301に記憶されているプログラムに従った各種処理を実行するプロセッサ1302、ネットワーク9を介して他の装置との間でデータ通信を行う通信IF1303を備える。
図7は、Webサーバ装置13の機能構成を示した図である。すなわち、図6に示したハードウェア構成を備えるコンピュータがプログラムに従う処理を行うことにより、図7に示す構成部を備える装置として機能する。Webサーバ装置13は、機能構成部として、プロキシサーバ装置12を介して端末装置11からWebページの表示に要する各種データの要求等を受信する受信手段131、受信手段131が受信した要求に応じてメモリ1301等に記憶されているWebページの表示指示データやコンテンツデータ等を読み出して取得する取得手段132、取得手段132が取得したWebページの表示指示データやコンテンツデータ等を、プロキシサーバ装置12を介して端末装置11に送信する送信手段133を備える。
図8は、Webページ表示システム1が行う処理のシーケンスの概要を示した図である。まず、ユーザは端末装置11において実行されているWebブラウザにおいて、表示したいWebページのURIを入力する。ユーザがURIを入力する方法は、URIを直接入力する方法に限られず、例えばURIがリンクされているボタンをタッチ操作する等のいずれの方法であってもよい。端末装置11は入力されたURIに従い、Webページの文書データ(表示指示データの一部)の送信を要求する要求データをWebサーバ装置13に宛てて送信する(ステップS101)。
端末装置11から送信された要求データは、プロキシサーバ装置12により受信される。プロキシサーバ装置12は、受信した要求データを、宛先のWebサーバ装置13に転送する(ステップS102)。
Webサーバ装置13は、プロキシサーバ装置12を介して端末装置11から送信されてきた要求データに応じて、Webページの文書データを端末装置11に宛てて送信する(ステップS103)。Webサーバ装置13から送信された文書データは、プロキシサーバ装置12により受信される。プロキシサーバ装置12の追加手段123は、Webサーバ装置13から受信した文書データに含まれるスクリプトのうち所定の条件を満たすスクリプトに、当該スクリプトの実行に伴いイベントの生成を命じるコード(以下、「コードY」という)を追加する(ステップS104)。
ステップS104において追加手段123がコードを追加するスクリプトが満たす所定の条件とは、例えば、Webページの表示内容に変更を加える可能性のある所定のコードや、Webページの表示内容に変更を加えるか否かが不明なコードを含むスクリプトである、という条件である。
図9はステップS104においてコードYが追加される前の文書データを例示した図である。図10はステップS104においてコードYが追加された後の文書データを例示した図である。図9および図10に示すスクリプトAがコードYの追加対象のスクリプトであり、図10に示す「fireScriptEvent()」がコードYである。
図10に示す例では、コードYはスクリプトの最後に追加されている。コードYの追加の位置はスクリプトの最後に限られず、例えば、スクリプトの先頭や、スクリプトに含まれる所定の種別のコードの後または前などであってもよい。また、図10に示す例では、1つのスクリプトに追加されるコードYの数は1つであるが、1つのスクリプトに2以上のスクリプトが追加されてもよい。
図8に戻り、Webページ表示システム1の処理のシーケンスの説明を続ける。追加手段123は、ステップS104の処理に続き、文書データに対し、文書データに従い表示されるWebページのツリーデータを所定の規則に従い変更する処理を命じるスクリプト(以下、「スクリプトX」という)を追加する(ステップS105)。なお、ステップS104とステップS105の処理の順序はいずれが先であってもよい。
スクリプトXは、Webページのツリーデータの変更処理のトリガとなるイベントの種別や変更の規則を示す規則データを含んでいる。図11は、スクリプトXに含まれる規則データの構成例を示した図である。規則データは、各々がパラメータIDで識別される複数のパラメータデータの集まりである。スクリプトXは、規則データに含まれるパラメータデータに従い、様々な種別のイベントの発生に応じて、当該イベントの種別に応じて異なる所定の規則に従いツリーデータの変更を行う。
規則データに含まれるパラメータデータの各々は、フィールドとして[パラメータID]、[イベント種別]、[変更規則]を有している。また、フィールド[イベント種別]には、サブフィールド[イベント名]、[イベント発生対象]が含まれ、フィールド[変更規則]にはサブフィールド[条件]、[変換コード]が含まれる。
フィールド[パラメータID]には、パラメータを識別するパラメータID(上述)が格納される。フィールド[イベント種別]には、スクリプトXの実行のトリガとなるイベントの種別を示すデータが格納される。すなわち、サブフィールド[イベント名]に格納されるデータにより識別される種別のイベントが、サブフィールド[イベント発生対象]に格納されるデータが示す対象において発生した場合、スクリプトXが実行されることになる。
フィールド[変更規則]には、フィールド[イベント種別]に格納されるデータが示す種別のイベントが発生した場合にスクリプトXがツリーデータに対し行う変更の規則を示すデータが格納される。すなわち、スクリプトXの実行により、ツリーデータが示すツリー構造の中から、サブフィールド[条件]に格納されるデータにより示される条件を満たす枝(または枝群)が検索された場合、サブフィールド[変換コード]に格納されるコードに従うツリーデータの変換が行われる。
なお、図11に例示のイベント名「treechange」は、イベント発生対象の枝(要素)の内容が変更された、というイベントを示す。また、イベント名「click」は、イベント発生対象の枝(要素)が示すオブジェクトに対しクリック操作が行われた、というイベントを示す。また、イベント名「codeexecution」は、イベント発生対象のパラメータIDで識別されるパラメータデータに従ったツリーデータの変更処理が実行された、というイベントを示す。
再び図8に戻り、Webページ表示システム1の処理のシーケンスの説明を続ける。プロキシサーバ装置12は、ステップS104の処理により必要に応じてコードYが追加され、また、ステップS105の処理によりスクリプトXが追加された文書データを端末装置11に送信する(ステップS106)。
端末装置11は、ステップS101において送信した要求データに応じてプロキシサーバ装置12から送信されてきたWebページの文書データを受信すると、受信した文書データに従い、Webページのツリーデータの生成(ステップS107)、Webページの表示に要するコンテンツデータの取得(ステップS108)、文書データに含まれるスクリプトXの実行(ステップS109)、文書データに含まれるスクリプトX以外のスクリプトの実行(ステップS110)を平行して行う。
なお、ステップS107〜S110の処理が実行される回数は各々、1回とは限らず、必要に応じて何度でも実行される。例えば、ステップS107のツリーデータの生成は、ステップS109またはS110におけるスクリプトの実行に伴い繰り返し実行される。また、ステップS110のスクリプトXではないスクリプトの実行は、ステップS106において端末装置11が受信した文書データに含まれるスクリプトの数だけ繰り返されるとともに、ステップS108においてスクリプトを含むコンテンツデータが取得された場合にも繰り返し実行される。また、ステップS109のスクリプトXの実行は、規則データのフィールド[イベント種別]に格納されるデータが示すイベントの発生に伴い繰り返し実行される。また、ステップS108のコンテンツデータの取得は、ステップS106において端末装置11が受信した文書データが示す外部コンテンツへの参照の数だけ繰り返されるとともに、ステップS108において新たな外部コンテンツへの参照を含むコンテンツデータが取得された場合等にも繰り返される。図8において、ステップS107〜S110の繰り返し実行に関するフローの図示は省略されている。
図12と図13は、図10に例示の文書データに従い、ステップS107において生成手段114が生成するツリーデータを模式的に示した図である。ツリーデータが示すWebページの要素の間の関係を示すツリーはDOM(Document Object Model)ツリーと呼ばれる。
図12は、ステップS110において実行手段113により文書データに含まれるスクリプトAが実行される前に、ステップS107において生成手段114により生成されるツリーデータが示すDOMツリーである。図13は、ステップS110において実行手段113により文書データに含まれるスクリプトAが実行された後に、ステップS107において生成手段114により生成されるツリーデータが示すDOMツリーである。図13に示す枝群Bが、スクリプトAの実行により追加された要素を示す部分である。このように、生成手段114は、例えばスクリプトの実行等によりWebページの表示内容に変更が加えられる毎にツリーデータの生成(ステップS107)を行う。図14は、図13に示したDOMツリーに従い表示されるWebページを模式的に示した図である。
再び図8に戻り、Webページ表示システム1の処理のシーケンスの説明を続ける。ステップS108において、端末装置11の送信手段111は文書データ(文書データに含まれるスクリプトに従い取得した文書データを含む)に示されるURIに従い、Webサーバ装置13に宛ててコンテンツデータの送信を要求する要求データを送信し、受信手段112は当該要求データに対する応答として送信されてくるコンテンツデータを受信する。なお、ステップS108におけるコンテンツデータの要求データの宛先のWebサーバ装置13は、ステップS101における文書データの要求データの宛先のWebサーバ装置13と同じであっても異なっていてもよい。また、ステップS108において複数のコンテンツデータの要求データが送信される場合、それらの要求データの宛先のWebサーバ装置13は異なっていてもよい。なお、図8において、Webページ表示システム1がステップS108に伴い行う処理のシーケンスの図示は省略されている。
ステップS108において端末装置11が取得するコンテンツデータが、スクリプトである場合がある。図15は、端末装置11がステップS108において取得するコンテンツデータがスクリプトである場合に、Webページ表示システム1が行う処理のシーケンスを模式的に示した図である。
図15に示す処理のシーケンスのステップS201〜S205のうち、ステップS201〜S204は、図8に示した処理のシーケンスのステップS101〜S104と同様の処理であり、ステップS205は、ステップS106と同様の処理である。すなわち、端末装置11がステップS106において受信した文書データに従いスクリプト(またはスクリプトを含む文書データ)をWebサーバ装置13から取得する場合、当該スクリプトがDOMツリーに変更を加える可能性があるか、またはDOMツリーに変更を加える可能性の有無が不明であれば、プロキシサーバ装置12の追加手段123によって当該スクリプトに対しコードYが追加され、コードYが追加されたスクリプトが端末装置11に送信される。
図16は、ステップS204においてコードYが追加される前のスクリプトを例示した図である。図17はステップS204においてコードYが追加された後のスクリプトを例示した図である。
再び図8に戻り、Webページ表示システム1の処理のシーケンスの説明を続ける。ステップS109において、端末装置11の検出手段115、判定手段116および変更手段117はスクリプトXを実行する。スクリプトXは、規則データ(図11)のフィールド[イベント種別]に格納されるデータが示す種別のイベントが発生したことをトリガに、フィールド[変更規則]に格納されるデータに従いツリーデータを変更する処理を指示するスクリプトである。検出手段115、判定手段116および変更手段117は、スクリプトXに従う処理を、ステップS106において端末装置11が受信した文書データに従うWebページの表示が行われる間、継続する。
図18は、スクリプトXに従い端末装置11が行う処理のフローを模式的に示した図である。まず、検出手段115は、所定のイベントの発生の監視(ステップS901)を開始する。ステップS901において検出手段115が監視する所定のイベントは、規則データ(図11)のフィールド[イベント種別]に格納されるデータが示す種別のイベントである。これらの監視対象のイベントには、図11に例示のデータが示すイベントの他に、コードYに従い実行手段113が生成するイベント、すなわちスクリプトの実行を示すイベントが含まれる。また、監視対象のイベントとしては、例えば、ステップS106において受信した文書データに従うツリーデータの生成の完了、ユーザによりWebブラウザに対し所定の操作(入力項目の変更、ウィンドウサイズの変更など)が行われたこと、Webブラウザによる外部装置とのデータ通信の完了、過去のスクリプトXの実行(ステップS109)によって変更された枝(要素)が他のスクリプトの実行(ステップS110)によってさらに変更されたこと等の様々なイベントが採用され得る。
ステップS901において検出手段115により所定のイベントの発生が検出されると(ステップS901;「Yes」)、判定手段116はその時点で生成手段114により生成されているツリーデータが示すDOMツリーに所定の条件を満たす枝(または枝群)が含まれるか否かを判定する(ステップS902)。ステップS902において判定手段116が判定に用いる所定の条件は、規則データ(図11)のフィールド[変更規則]の、例えばサブフィールド[条件]に格納されるデータが示す条件である。
ステップS902において判定手段116により所定の条件を満たす枝(または枝群)がDOMツリー内にないと判定された場合(ステップS902;「No」)、端末装置11は処理をステップS901に戻す。一方、ステップS902において判定手段116により所定の条件を満たす枝(または枝群)がDOMツリー内にあると判定された場合(ステップS902;「Yes」)、変更手段117は当該所定の条件に応じた所定の規則に従い、当該所定の条件を満たす枝(または枝群)を変更する(ステップS903)。ステップS903において変更手段117が変更に用いる所定の規則は、規則データ(図11)のフィールド[変更規則]の、例えばサブフィールド[変換コード]に格納されるデータが示す規則である。
図19は、ステップS901〜S903の処理を端末装置11に指示するスクリプト、すなわち、スクリプトX(またはスクリプトXに従い端末装置11が取得したスクリプト)の一部を例示した図である。図19に例示のスクリプトは、「<li>タグの枝の下に「=」を含むテキストの枝がある」という所定の条件を満たす場合、当該テキストの枝を、「「=」の左側のテキストの枝と、「=」の右側のテキストの枝と、それらの枝を下層に持つ2個の<span>タグの枝とを含む枝群に置換する」という所定の規則に従い変更することを命じるスクリプトである。
図20は、図13に例示のDOMツリーが、図19に例示のスクリプトに従い変更された後のDOMツリーを示した図である。また、図21は、図20に示したDOMツリーに従い表示されるWebページを示した図である。すなわち、スクリプトXに従う処理により、図14に例示のWebページの表示内容が、図21に例示の表示内容に変更される。
再び図8に戻り、Webページ表示システム1の処理のシーケンスの説明を続ける。ステップS110において、端末装置11の実行手段113は端末装置11が取得した文書データに含まれるスクリプト(スクリプトX以外)や、当該スクリプトに従い取得されたスクリプト(例えば、図17に例示のスクリプト)を実行する。ステップS110において、コードYを含むスクリプトが実行された場合、実行手段113はコードYに従いスクリプトに従った処理の実行を示すイベントを発生する。実行手段113により発生されたイベントは、図18のステップS901において検出手段115により検出され、当該イベントの検出をトリガとして判定手段116によるステップS902の判定および変更手段117によるS903の変更が実行される。このため、スクリプトに従いDOMツリーに変更が加えられた場合、速やかに、かつ確実に、変更後のDOMツリーに対し、スクリプトXに従う変更が行われることになる。
端末装置11の表示指示手段118は、生成手段114により生成されたツリーデータに従い、Webページを示す画像データを生成し、当該画像データが示す画像の表示をタッチディスプレイ1104に対し指示する(ステップS111)。また、表示指示手段118は、スクリプト(スクリプトXを含む)の実行やユーザのWebページにおける操作等に伴いツリーデータに変更が生じると、変更後のツリーデータに従い、Webページを示す画像データを生成し、当該画像データが示す画像の表示をタッチディスプレイ1104に対し指示する(ステップS111)。タッチディスプレイ1104は、表示指示手段118の指示に従い、Webページを表示する。
上述したWebページ表示システム1によれば、Webページのデザイナは、規則データ(図11)に例示のデータを準備することにより、Webページに対し、所定の規則に従う変更を容易に指示することができる。
なお、上述した実施形態の説明においては、スクリプトに従いWebページに表示される要素の内容がスクリプトに記述されている例を図9や図16に示したが、これは説明の便宜のためであって、Webページ表示システム1が扱うスクリプトには、当該スクリプトに従いWebページに表示される要素の内容が直接記述されている必要はない。なぜなら、ステップS903におけるツリーデータの変更は、スクリプトの記述内容には基づかず、ステップS107において生成されるツリーデータの内容に基づいて行われるためである。従って、Webページの表示指示データに含まれるスクリプトや、表示指示データに従い取得されるスクリプトの挙動がスクリプトの記述内容からは不明な場合であっても、結果として表示されるWebページに対し、所定の規則に従った変更を加えることが可能である点が、本発明により得られる特段の効果の一つである。
[変形例]
上述した実施形態は本発明の一具体例であって、本発明の技術的思想の範囲内で様々に変形することができる。以下にそれらの変形の例を示す。なお、上述した実施形態及び以下の変形例を適宜組み合わせてもよい。
上述した実施形態は本発明の一具体例であって、本発明の技術的思想の範囲内で様々に変形することができる。以下にそれらの変形の例を示す。なお、上述した実施形態及び以下の変形例を適宜組み合わせてもよい。
[変形例1]
上述の実施形態においては、Webページの文書データに対するスクリプトXの追加はプロキシサーバ装置12において行われる。これに代えて、Webサーバ装置13において文書データに対するスクリプトXの追加が行われる構成が採用されてもよい。この変形例において、Webサーバ装置13は端末装置11から文書データの送信を要求する要求データを受信した後に、要求された文書データに対しスクリプトXを追加する処理を行ってもよいし、要求データに応じて、予めスクリプトXを追加しておいた文書データを端末装置11に送信してもよい。
上述の実施形態においては、Webページの文書データに対するスクリプトXの追加はプロキシサーバ装置12において行われる。これに代えて、Webサーバ装置13において文書データに対するスクリプトXの追加が行われる構成が採用されてもよい。この変形例において、Webサーバ装置13は端末装置11から文書データの送信を要求する要求データを受信した後に、要求された文書データに対しスクリプトXを追加する処理を行ってもよいし、要求データに応じて、予めスクリプトXを追加しておいた文書データを端末装置11に送信してもよい。
[変形例2]
上述の実施形態においては、スクリプトXはWebページの文書データに追加された状態で端末装置11に送信される。これに代えて、端末装置11が文書データとは別に、スクリプトXを取得する構成が採用されてもよい。この変形例において、例えば、プロキシサーバ装置12は文書データに対するスクリプトXの追加(図8、ステップS105)に代えて、スクリプトXの取得を指示するスクリプト(以下、「スクリプトZ」という)を文書データに追加する。端末装置11は、取得した文書データに含まれるスクリプトZを実行し(図8、ステップS110)、Webサーバ装置13からスクリプトXを取得(図8、ステップS108)した後、スクリプトXを実行する(図8、ステップS109)。
上述の実施形態においては、スクリプトXはWebページの文書データに追加された状態で端末装置11に送信される。これに代えて、端末装置11が文書データとは別に、スクリプトXを取得する構成が採用されてもよい。この変形例において、例えば、プロキシサーバ装置12は文書データに対するスクリプトXの追加(図8、ステップS105)に代えて、スクリプトXの取得を指示するスクリプト(以下、「スクリプトZ」という)を文書データに追加する。端末装置11は、取得した文書データに含まれるスクリプトZを実行し(図8、ステップS110)、Webサーバ装置13からスクリプトXを取得(図8、ステップS108)した後、スクリプトXを実行する(図8、ステップS109)。
また、スクリプトZに、端末装置11の属性または端末装置11のユーザの属性を示す属性データをWebサーバ装置13に送信することを指示するコードを含ませる構成が採用されてもよい。ここで、端末装置11の属性とは、例えば、端末装置11の機種、ディスプレイの解像度、現在の通信状態、現在位置、端末装置11で実行されているWebブラウザの種別等である。また、端末装置11のユーザの属性とは、例えば、ユーザの性別、年齢、趣味等である。この構成によれば、端末装置11はスクリプトZに従い、Webサーバ装置13に対しスクリプトXの送信を要求する要求データとともに、属性データを送信する。Webサーバ装置13は、様々な属性の端末装置またはユーザに応じた複数の異なる規則データを予め取得しておき、端末装置11から受信した要求データと共に送信されてくる属性データに応じた規則データを含むスクリプトXを端末装置11に送信する。その結果、端末装置11において表示されるWebページに、端末装置11や端末装置11のユーザの属性に応じた変更が行われることになる。
[変形例3]
上述の実施形態においては、端末装置11はツリーデータの変更のための処理(図18、ステップS901〜S903)を、Webページの文書データの取得に伴い取得したスクリプトXに従い実行する。これに代えて、端末装置11が予めツリーデータの変更のための処理を指示するプログラムを取得しておき、Webページの表示において当該プログラムに従いツリーデータの変更のための処理を行う構成が採用されてもよい。この変形例において、ツリーデータの変更のための処理を指示するプログラムは、例えば、端末装置11で実行されるWebブラウザに組み込まれた形で提供されてもよいし、Webブラウザの機能を拡張するアドオンプログラムとして提供されてもよい。
上述の実施形態においては、端末装置11はツリーデータの変更のための処理(図18、ステップS901〜S903)を、Webページの文書データの取得に伴い取得したスクリプトXに従い実行する。これに代えて、端末装置11が予めツリーデータの変更のための処理を指示するプログラムを取得しておき、Webページの表示において当該プログラムに従いツリーデータの変更のための処理を行う構成が採用されてもよい。この変形例において、ツリーデータの変更のための処理を指示するプログラムは、例えば、端末装置11で実行されるWebブラウザに組み込まれた形で提供されてもよいし、Webブラウザの機能を拡張するアドオンプログラムとして提供されてもよい。
[変形例4]
上述の実施形態においては、所定の条件を満たすスクリプトに対しコードYが追加される。これに代えて、全てのスクリプトに対しコードYが追加される構成が採用されてもよい。
上述の実施形態においては、所定の条件を満たすスクリプトに対しコードYが追加される。これに代えて、全てのスクリプトに対しコードYが追加される構成が採用されてもよい。
[変形例5]
上述の実施形態においては、所定の条件を満たすスクリプトに対しコードYが追加される。これに代えて、いずれのスクリプトに対してもコードYの追加が行われない構成が採用されてもよい。この変形例によれば、図18のステップS902〜S903の処理はスクリプトの実行のタイミングでは必ずしも実行されなくなる。ただし、規則データ(図11)のフィールド[イベント種別]にコードYにより発生するイベント以外のイベント(ツリー変更イベント等)が適切に設定されれば、十分な頻度でステップS902〜S903の処理が実行され、Webページに対し迅速な変更が行われる。
上述の実施形態においては、所定の条件を満たすスクリプトに対しコードYが追加される。これに代えて、いずれのスクリプトに対してもコードYの追加が行われない構成が採用されてもよい。この変形例によれば、図18のステップS902〜S903の処理はスクリプトの実行のタイミングでは必ずしも実行されなくなる。ただし、規則データ(図11)のフィールド[イベント種別]にコードYにより発生するイベント以外のイベント(ツリー変更イベント等)が適切に設定されれば、十分な頻度でステップS902〜S903の処理が実行され、Webページに対し迅速な変更が行われる。
[変形例8]
上述の実施形態においては、Webページの文書データに含まれる所定の条件を満たすスクリプトに対するコードYの追加はプロキシサーバ装置12において行われる。これに代えて、Webサーバ装置13において文書データに対するコードYの追加が行われる構成が採用されてもよい。この変形例において、Webサーバ装置13は端末装置11から文書データの送信を要求する要求データを受信した後に、要求された文書データに対しコードYを追加する処理を行ってもよいし、要求データに応じて、予めコードYを追加しておいた文書データを端末装置11に送信してもよい。
上述の実施形態においては、Webページの文書データに含まれる所定の条件を満たすスクリプトに対するコードYの追加はプロキシサーバ装置12において行われる。これに代えて、Webサーバ装置13において文書データに対するコードYの追加が行われる構成が採用されてもよい。この変形例において、Webサーバ装置13は端末装置11から文書データの送信を要求する要求データを受信した後に、要求された文書データに対しコードYを追加する処理を行ってもよいし、要求データに応じて、予めコードYを追加しておいた文書データを端末装置11に送信してもよい。
[変形例9]
上述の実施形態においては、端末装置11、プロキシサーバ装置12、Webサーバ装置13は各々、コンピュータがプログラムに従う処理を実行することにより実現される。これに代えて、端末装置11、プロキシサーバ装置12、Webサーバ装置13の1以上が、集積回路等により図3、図5、図7に模式的に示した機能を実現する専用装置として構成されてもよい。
上述の実施形態においては、端末装置11、プロキシサーバ装置12、Webサーバ装置13は各々、コンピュータがプログラムに従う処理を実行することにより実現される。これに代えて、端末装置11、プロキシサーバ装置12、Webサーバ装置13の1以上が、集積回路等により図3、図5、図7に模式的に示した機能を実現する専用装置として構成されてもよい。
[変形例10]
上述の実施形態においては、文書データ内にスクリプトの取得元のURIが記述されている場合、端末装置11が文書データを取得(図8、ステップS106)した後、当該URIからスクリプトを取得する(図8、ステップS108)。これに代えて、プロキシサーバ装置12がスクリプトの取得を行う構成が採用されてもよい。
上述の実施形態においては、文書データ内にスクリプトの取得元のURIが記述されている場合、端末装置11が文書データを取得(図8、ステップS106)した後、当該URIからスクリプトを取得する(図8、ステップS108)。これに代えて、プロキシサーバ装置12がスクリプトの取得を行う構成が採用されてもよい。
この変形例においては、端末装置11の要求に応じてWebサーバ装置13から文書データが端末装置11に送信される際、プロキシサーバ装置12が当該文書データに記述されているURIに従い、Webサーバ装置13からスクリプトを取得し、当該文書データにスクリプトの追加を行う。その際、追加手段123により、必要に応じて当該スクリプトに対するコードYの追加(図8、ステップS104)が行われる。
[変形例11]
上述の実施形態においては、規則データ(図11)はスクリプトXに含まれる。これに代えて、スクリプトXは規則データを含まず、端末装置11がスクリプトXとは別に規則データを取得する構成が採用されてもよい。
上述の実施形態においては、規則データ(図11)はスクリプトXに含まれる。これに代えて、スクリプトXは規則データを含まず、端末装置11がスクリプトXとは別に規則データを取得する構成が採用されてもよい。
[変形例12]
上述の実施形態においては、スクリプトに追加されるコードYが複数の場合、それらのコードYは互いに区別されない。従って、コードYの実行に伴い生成されるイベントは、いずれのスクリプトの実行を示すイベントか区別されない。これに代えて、コードYが追加された場所、すなわち実行されるスクリプトまたは当該スクリプトに含まれるコードに応じて異なるイベントが生成されるように構成されてもよい。例えば、プロキシサーバ装置12がステップS104(図8)において、識別子を引数として設定したコードYをスクリプトに追加することにより、コードYの実行に伴い識別子を伴うイベントの生成が行われるように構成されてもよい。この構成の変形例においては、スクリプトの実行に伴い生成されるイベントに伴う識別子によって、実行されるスクリプトまたは当該スクリプトに含まれる実行されるコードが識別可能となる。従って、例えば規則データ(図11)のフィールド[イベント種別]に、特定の識別子を伴うコードYの実行を示すイベントを指定するデータを格納することにより、コードYが追加された場所に応じて異なる規則に従いツリーデータの変更が行われることになる。
上述の実施形態においては、スクリプトに追加されるコードYが複数の場合、それらのコードYは互いに区別されない。従って、コードYの実行に伴い生成されるイベントは、いずれのスクリプトの実行を示すイベントか区別されない。これに代えて、コードYが追加された場所、すなわち実行されるスクリプトまたは当該スクリプトに含まれるコードに応じて異なるイベントが生成されるように構成されてもよい。例えば、プロキシサーバ装置12がステップS104(図8)において、識別子を引数として設定したコードYをスクリプトに追加することにより、コードYの実行に伴い識別子を伴うイベントの生成が行われるように構成されてもよい。この構成の変形例においては、スクリプトの実行に伴い生成されるイベントに伴う識別子によって、実行されるスクリプトまたは当該スクリプトに含まれる実行されるコードが識別可能となる。従って、例えば規則データ(図11)のフィールド[イベント種別]に、特定の識別子を伴うコードYの実行を示すイベントを指定するデータを格納することにより、コードYが追加された場所に応じて異なる規則に従いツリーデータの変更が行われることになる。
[変形例13]
上述の実施形態または変形例において、コンピュータが端末装置11、プロキシサーバ装置12、またはWebサーバ装置13を実現するために実行するプログラムは、ネットワークを介してコンピュータにダウンロードされる形で提供されてもよいし、CD−ROM、フラッシュメモリ等のコンピュータ読取可能な記録媒体に持続的に記録された形で提供され、当該記録媒体からコンピュータが読み取る形で利用されてもよい。
上述の実施形態または変形例において、コンピュータが端末装置11、プロキシサーバ装置12、またはWebサーバ装置13を実現するために実行するプログラムは、ネットワークを介してコンピュータにダウンロードされる形で提供されてもよいし、CD−ROM、フラッシュメモリ等のコンピュータ読取可能な記録媒体に持続的に記録された形で提供され、当該記録媒体からコンピュータが読み取る形で利用されてもよい。
1…Webページ表示システム、9…ネットワーク、11…端末装置、12…プロキシサーバ装置、13…Webサーバ装置、111…送信手段、112…受信手段、113…実行手段、114…生成手段、115…検出手段、116…判定手段、117…変更手段、118…表示指示手段、121…受信手段、122…送信手段、123…追加手段、131…受信手段、132…取得手段、133…送信手段、1101…メモリ、1102…プロセッサ、1103…通信IF、1104…タッチディスプレイ、1201…メモリ、1202…プロセッサ、1203…通信IF、1301…メモリ、1302…プロセッサ、1303…通信IF
Claims (15)
- Webページの表示をWebブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する表示指示データ受信処理と、
前記表示指示データ受信処理において受信した前記表示指示データに基づいて、前記Webページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成処理と、
前記表示指示データ受信処理において受信した前記表示指示データが前記Webページに表示される1以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記1以上のコンテンツデータの送信を要求する要求データを前記1以上のコンテンツデータの配信元のサーバ装置に送信する送信処理と、
前記送信処理において送信した前記要求データに対する応答として送信されてくる前記1以上のコンテンツデータを受信するコンテンツデータ受信処理と
を実行し、
前記表示指示データ受信処理において受信した前記表示指示データまたは前記コンテンツデータ受信処理において受信した前記1以上のコンテンツデータが1以上のプログラムを含む場合、前記1以上のプログラムの各々を実行し、
前記1以上のプログラムの各々の実行に伴い前記生成処理を繰り返し、
前記生成処理において生成した前記ツリーデータに従いWebページを表す画像データを生成し、当該画像データが表すWebページの表示を表示装置に指示する表示指示処理
を実行する
コンピュータに、
1以上のイベントの種別と、ツリーデータの変更のための1以上の条件と、ツリーデータの変更のための1以上の規則であって前記1以上の条件の各々に対応した1以上の規則とを示す規則データを取得する取得処理と、
前記表示指示データ受信処理の後に前記規則データが示す前記1以上の種別のイベントの発生の監視を開始し、当該監視において前記1以上の種別のイベントの発生を検出する検出処理と、
前記検出処理において前記1以上の種別のうちのいずれか1つの種別のイベントの発生が検出された場合、その時点で前記生成処理において生成されている前記ツリーデータが、前記規則データが示す前記1以上の条件のうちのいずれか1つの条件を満たすか否かを判定する判定処理と、
前記判定処理において前記ツリーデータが前記1以上の条件のうちのいずれか1つの条件を満たすと判定した場合、前記規則データが示す前記1以上の規則のうち前記判定処理において満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更処理と
を実行させ、
前記変更処理において前記ツリーデータが変更された場合、変更後の前記ツリーデータを用いて前記表示指示処理を実行させる
ためのプログラム。 - 前記規則データは、前記判定処理の実行のトリガとなる2以上のイベントの種別と、前記2以上のイベントの種別の各々に対応する、ツリーデータの変更のための2以上の条件とツリーデータの変更のための2以上の規則とを示し、
前記コンピュータに、
前記判定処理において、前記規則データが示す2以上の条件のうち前記検出処理において発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定させ、
前記変更処理において、前記規則データが示す2以上の規則のうち前記検出処理において発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更させる
ための請求項1に記載のプログラム。 - 前記規則データは、複数のプログラムの各々の実行を前記判定処理の実行のトリガとなる異なるイベントの種別として示し、
前記コンピュータに、
前記検出処理において前記複数のプログラムのうちのいずれか1つのプログラムの実行を検出した場合、前記判定処理において、前記規則データが示す2以上の条件のうち前記検出処理において実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定させる
ための請求項2に記載のプログラム。 - 前記規則データは、プログラムの実行を前記判定処理の実行のトリガとなるイベントの種別として示し、
前記コンピュータに、
前記検出処理においてプログラムの実行を検出した場合、前記判定処理を実行させる
ための請求項1に記載のプログラム。 - 請求項1に記載のプログラムであって、
前記コンピュータが前記表示指示データ受信処理において受信する前記表示指示データに含まれる請求項1に記載のプログラム。 - 請求項1に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、
前記表示指示データに、請求項1に記載のプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加処理と、
前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理と
を実行させるためのプログラム。 - 前記サーバ装置用のコンピュータに、
前記追加処理において、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを請求項1に記載のプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加させる
請求項6に記載のプログラム。 - 請求項1に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、
前記表示指示データに、請求項1に記載のプログラムを追加する追加処理と、
前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理と
を実行させるためのプログラム。 - Webページの表示をWebブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する受信手段と、
前記受信手段により受信された前記表示指示データに基づいて、前記Webページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成手段と、
前記受信手段により受信された前記表示指示データが前記Webページに表示される1以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記1以上のコンテンツデータの送信を要求する要求データを前記1以上のコンテンツデータの配信元のサーバ装置に送信する送信手段と
を備え、
前記受信手段は、前記送信手段により送信された前記要求データに対する応答として送信されてくる前記1以上のコンテンツデータを受信し、
前記受信手段により受信された前記表示指示データまたは前記1以上のコンテンツデータが1以上のプログラムを含む場合、前記1以上のプログラムの各々を実行する実行手段
を備え、
前記生成手段は、前記実行手段による前記1以上のプログラムの各々の実行に伴いツリーデータの生成を繰り返し、
1以上のイベントの種別と、ツリーデータの変更のための1以上の条件と、ツリーデータの変更のための1以上の規則であって前記1以上の条件の各々に対応した1以上の規則とを示す規則データを取得する取得手段と、
前記受信手段による前記表示指示データの受信の後に前記規則データが示す前記1以上の種別のイベントの発生の監視を開始し、当該監視において前記1以上の種別のイベントの発生を検出する検出手段と、
前記検出手段により前記1以上の種別のうちのいずれか1つの種別のイベントの発生が検出された場合、その時点で前記生成手段により生成されている前記ツリーデータが、前記規則データが示す前記1以上の条件のうちのいずれか1つの条件を満たすか否かを判定する判定手段と、
前記判定手段により前記ツリーデータが前記1以上の条件のうちのいずれか1つの条件を満たすと判定された場合、前記規則データが示す前記1以上の規則のうち前記判定手段により満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更手段と、
前記生成手段により生成された前記ツリーデータに従いWebページを表す画像データを生成し、当該画像データが表すWebページの表示を表示装置に指示し、前記変更手段により前記ツリーデータが変更された場合は変更後の前記ツリーデータに従いWebページを表す画像データを生成し、当該画像データが表すWebページの表示を前記表示装置に指示する表示指示手段と
を備える端末装置。 - 前記規則データは、前記判定手段による前記判定の実行のトリガとなる2以上のイベントの種別と、前記2以上のイベントの種別の各々に対応する、ツリーデータの変更のための2以上の条件とツリーデータの変更のための2以上の規則とを示し、
前記判定手段は、前記規則データが示す2以上の条件のうち前記検出手段により発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定し、
前記変更手段は、前記規則データが示す2以上の規則のうち前記検出手段により発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更する
請求項9に記載の端末装置。 - 前記規則データは、複数のプログラムの各々の実行を前記判定手段による前記判定の実行のトリガとなる異なるイベントの種別として示し、
前記検出手段により前記複数のプログラムのうちのいずれか1つのプログラムの実行が検出された場合、前記判定手段は、前記規則データが示す2以上の条件のうち前記検出手段により実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定する
請求項10に記載の端末装置。 - 前記規則データは、プログラムの実行を前記判定手段による前記判定の実行のトリガとなるイベントの種別として示し、
前記検出手段によりプログラムの実行が検出された場合、前記判定手段は前記判定を実行する
請求項9に記載の端末装置。 - 請求項1に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、
前記表示指示データに、請求項1に記載のプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加手段と、
前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段と
を備えるサーバ装置。 - 前記追加手段は、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを請求項1に記載のプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加する
請求項13に記載のサーバ装置。 - 請求項1に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、
前記表示指示データに、請求項1に記載のプログラムを追加する追加手段と、
前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段と
を備えるサーバ装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/076729 WO2016056054A1 (ja) | 2014-10-06 | 2014-10-06 | Webページの表示のためのプログラム、端末装置、およびサーバ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5832056B1 true JP5832056B1 (ja) | 2015-12-16 |
JPWO2016056054A1 JPWO2016056054A1 (ja) | 2017-04-27 |
Family
ID=54874307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015504784A Active JP5832056B1 (ja) | 2014-10-06 | 2014-10-06 | Webページの表示のためのプログラム、端末装置、およびサーバ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20170315971A1 (ja) |
JP (1) | JP5832056B1 (ja) |
WO (1) | WO2016056054A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019196680A (ja) * | 2018-05-11 | 2019-11-14 | 西日本電信電話株式会社 | 舗装情報収集点検システム、舗装情報収集点検方法、及びプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10606934B2 (en) * | 2016-04-01 | 2020-03-31 | Microsoft Technology Licensing, Llc | Generation of a modified UI element tree |
JP6557184B2 (ja) * | 2016-06-28 | 2019-08-07 | 日本電信電話株式会社 | 機能拡張システム、機能拡張方法および機能拡張プログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014507036A (ja) * | 2011-02-22 | 2014-03-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6732330B1 (en) * | 1999-09-30 | 2004-05-04 | International Business Machines Corporation | Scripting language blocks to support multiple scripting languages in a single web page |
US20040030710A1 (en) * | 2001-05-21 | 2004-02-12 | Thomas Shadle | Rules-based task browser for engineering systems |
US7386835B1 (en) * | 2002-03-22 | 2008-06-10 | Emc Corporation | Technique for graphical user interface modification |
US20080083012A1 (en) * | 2006-06-26 | 2008-04-03 | Dachuan Yu | Program instrumentation method and apparatus for constraining the behavior of embedded script in documents |
US7614003B2 (en) * | 2006-10-23 | 2009-11-03 | Adobe Systems Incorporated | Rendering hypertext markup language content |
JP2007115276A (ja) * | 2007-01-18 | 2007-05-10 | Fujitsu Social Science Laboratory Ltd | コンテンツデータ生成処理プログラムおよびコンテンツデータ生成処理プログラム記録媒体 |
US20090144753A1 (en) * | 2007-11-30 | 2009-06-04 | Morris Robert P | Method And System For Providing Update Content In A Markup Language-Based Resource |
JP5136087B2 (ja) * | 2008-01-28 | 2013-02-06 | カシオ計算機株式会社 | クライアント装置およびクライアント制御プログラム |
US8086957B2 (en) * | 2008-05-21 | 2011-12-27 | International Business Machines Corporation | Method and system to selectively secure the display of advertisements on web browsers |
WO2010117814A1 (en) * | 2009-03-30 | 2010-10-14 | Nokia Corporation | Methods and systems for processing document object models (dom) to process video content |
JP5476867B2 (ja) * | 2009-08-28 | 2014-04-23 | 富士通株式会社 | マッシュアッププログラム、マッシュアップ装置及びマッシュアップ方法 |
US20120110433A1 (en) * | 2010-10-28 | 2012-05-03 | Microsoft Corporation | Parallel web page processing |
KR102020335B1 (ko) * | 2012-08-27 | 2019-09-10 | 삼성전자 주식회사 | 메시지 운용 방법 및 이를 지원하는 단말기 |
JP5858479B2 (ja) * | 2012-10-30 | 2016-02-10 | カシオ計算機株式会社 | 端末装置及びプログラム |
EP2958025B1 (en) * | 2013-02-12 | 2019-09-04 | Nippon Telegraph and Telephone Corporation | Output function dividing system |
KR20140117122A (ko) * | 2013-03-26 | 2014-10-07 | 삼성전자주식회사 | 전자장치에서 동적으로 변하는 웹페이지 내용을 제어하는 방법 및 장치 |
US9270647B2 (en) * | 2013-12-06 | 2016-02-23 | Shape Security, Inc. | Client/server security by an intermediary rendering modified in-memory objects |
-
2014
- 2014-10-06 US US15/517,235 patent/US20170315971A1/en not_active Abandoned
- 2014-10-06 JP JP2015504784A patent/JP5832056B1/ja active Active
- 2014-10-06 WO PCT/JP2014/076729 patent/WO2016056054A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014507036A (ja) * | 2011-02-22 | 2014-03-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツのオンページ操作およびリアルタイム置換のための方法、システム、およびコンピュータ・プログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019196680A (ja) * | 2018-05-11 | 2019-11-14 | 西日本電信電話株式会社 | 舗装情報収集点検システム、舗装情報収集点検方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20170315971A1 (en) | 2017-11-02 |
WO2016056054A1 (ja) | 2016-04-14 |
JPWO2016056054A1 (ja) | 2017-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220067268A1 (en) | Systems and methods for remote dashboard image generation | |
US10460013B2 (en) | Using server side font preparation to achieve WYSIWYG and cross platform fidelity on web based word processor | |
US10013396B2 (en) | Modifying native documents with formulas in a preview | |
US10853319B2 (en) | System and method for display of document comparisons on a remote device | |
US20130007586A1 (en) | Method and system for creating and using web feed display templates | |
JP5162459B2 (ja) | スクリプトマークアップ | |
JP5832056B1 (ja) | Webページの表示のためのプログラム、端末装置、およびサーバ装置 | |
CN114254222A (zh) | 一种统计单页应用的可交互时间的方法、装置及电子设备 | |
JP6539432B2 (ja) | 解析サーバ装置、解析プログラム、ヒートマップ解析システム | |
JP2008071116A (ja) | 情報配信システム、情報配信装置、情報配信方法および情報配信用プログラム | |
JP5470500B1 (ja) | アプリケーション生成装置、アプリケーション生成システム及びアプリケーション生成方法 | |
JP2019086931A (ja) | 情報処理装置およびコンピュータプログラム | |
JP2015011691A (ja) | 予測プログラム、予測方法及び予測装置 | |
JP2011128970A (ja) | ウェブページ作成支援装置、ウェブページ作成支援方法、コンピュータプログラム | |
JP6101880B1 (ja) | Webページを表示するためのシステム、プログラムおよび記録媒体 | |
CN112016014B (zh) | 网页显示、网页资源生成方法、装置、电子设备及介质 | |
US20230409659A1 (en) | Information processing system, image generation system, communication terminal, information processing method, or storage medium | |
JP6217473B2 (ja) | Webサービス提供装置 | |
JP2017004208A (ja) | テスト支援装置、及びテスト支援方法 | |
JP2016001382A (ja) | ウェブページ提供システム、ウェブページ提供方法、プログラム及び通信装置 | |
TWI394079B (zh) | 透過網頁提供服務方法及其系統 | |
JP2015108875A (ja) | 情報処理装置、情報処理方法、及び、情報処理プログラム | |
JP2016062553A (ja) | 情報処理装置、配布装置、コンテンツ表示方法、コンテンツ配布方法、コンピュータプログラム | |
JP2015076087A (ja) | アプリケーション生成装置、アプリケーション生成システム及びアプリケーション生成方法 | |
JP2009193436A (ja) | 着眼点抽出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20151022 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5832056 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |