(57)【特許請求の範囲】
【請求項１】
Ｗｅｂページの表示をＷｅｂブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する表示指示データ受信処理と、
前記表示指示データ受信処理において受信した前記表示指示データに基づいて、前記Ｗｅｂページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成処理と、
前記表示指示データ受信処理において受信した前記表示指示データが前記Ｗｅｂページに表示される１以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記１以上のコンテンツデータの送信を要求する要求データを前記１以上のコンテンツデータの配信元のサーバ装置に送信する送信処理と、
前記送信処理において送信した前記要求データに対する応答として送信されてくる前記１以上のコンテンツデータを受信するコンテンツデータ受信処理と
を実行し、
前記表示指示データ受信処理において受信した前記表示指示データまたは前記コンテンツデータ受信処理において受信した前記１以上のコンテンツデータが１以上のプログラムを含む場合、前記１以上のプログラムの各々を実行し、
前記１以上のプログラムの各々の実行に伴い前記生成処理を繰り返し、
前記生成処理において生成した前記ツリーデータに従いＷｅｂページを表す画像データを生成し、当該画像データが表すＷｅｂページの表示を表示装置に指示する表示指示処理
を実行する
コンピュータに、
１以上のイベントの種別と、ツリーデータの変更のための１以上の条件と、ツリーデータの変更のための１以上の規則であって前記１以上の条件の各々に対応した１以上の規則とを示す規則データを取得する取得処理と、
前記表示指示データ受信処理の後に前記規則データが示す前記１以上の種別のイベントの発生の監視を開始し、当該監視において前記１以上の種別のイベントの発生を検出する検出処理と、
前記検出処理において前記１以上の種別のうちのいずれか１つの種別のイベントの発生が検出された場合、その時点で前記生成処理において生成されている前記ツリーデータが、前記規則データが示す前記１以上の条件のうちのいずれか１つの条件を満たすか否かを判定する判定処理と、
前記判定処理において前記ツリーデータが前記１以上の条件のうちのいずれか１つの条件を満たすと判定した場合、前記規則データが示す前記１以上の規則のうち前記判定処理において満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更処理と
を実行させ、
前記変更処理において前記ツリーデータが変更された場合、変更後の前記ツリーデータを用いて前記表示指示処理を実行させる
ためのプログラム。
【請求項２】
前記規則データは、前記判定処理の実行のトリガとなる２以上のイベントの種別と、前記２以上のイベントの種別の各々に対応する、ツリーデータの変更のための２以上の条件とツリーデータの変更のための２以上の規則とを示し、
前記コンピュータに、
前記判定処理において、前記規則データが示す２以上の条件のうち前記検出処理において発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定させ、
前記変更処理において、前記規則データが示す２以上の規則のうち前記検出処理において発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更させる
ための請求項１に記載のプログラム。
【請求項３】
前記規則データは、複数のプログラムの各々の実行を前記判定処理の実行のトリガとなる異なるイベントの種別として示し、
前記コンピュータに、
前記検出処理において前記複数のプログラムのうちのいずれか１つのプログラムの実行を検出した場合、前記判定処理において、前記規則データが示す２以上の条件のうち前記検出処理において実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定させる
ための請求項２に記載のプログラム。
【請求項４】
前記規則データは、プログラムの実行を前記判定処理の実行のトリガとなるイベントの種別として示し、
前記コンピュータに、
前記検出処理においてプログラムの実行を検出した場合、前記判定処理を実行させる
ための請求項１に記載のプログラム。
【請求項５】
請求項１に記載のプログラムであって、
前記コンピュータが前記表示指示データ受信処理において受信する前記表示指示データに含まれる請求項１に記載のプログラム。
【請求項６】
請求項１に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、
前記表示指示データに、請求項１に記載のプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加処理と、
前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理と
を実行させるためのプログラム。
【請求項７】
前記サーバ装置用のコンピュータに、
前記追加処理において、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを請求項１に記載のプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加させる
請求項６に記載のプログラム。
【請求項８】
請求項１に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、
前記表示指示データに、請求項１に記載のプログラムを追加する追加処理と、
前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理と
を実行させるためのプログラム。
【請求項９】
Ｗｅｂページの表示をＷｅｂブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する受信手段と、
前記受信手段により受信された前記表示指示データに基づいて、前記Ｗｅｂページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成手段と、
前記受信手段により受信された前記表示指示データが前記Ｗｅｂページに表示される１以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記１以上のコンテンツデータの送信を要求する要求データを前記１以上のコンテンツデータの配信元のサーバ装置に送信する送信手段と
を備え、
前記受信手段は、前記送信手段により送信された前記要求データに対する応答として送信されてくる前記１以上のコンテンツデータを受信し、
前記受信手段により受信された前記表示指示データまたは前記１以上のコンテンツデータが１以上のプログラムを含む場合、前記１以上のプログラムの各々を実行する実行手段
を備え、
前記生成手段は、前記実行手段による前記１以上のプログラムの各々の実行に伴いツリーデータの生成を繰り返し、
１以上のイベントの種別と、ツリーデータの変更のための１以上の条件と、ツリーデータの変更のための１以上の規則であって前記１以上の条件の各々に対応した１以上の規則とを示す規則データを取得する取得手段と、
前記受信手段による前記表示指示データの受信の後に前記規則データが示す前記１以上の種別のイベントの発生の監視を開始し、当該監視において前記１以上の種別のイベントの発生を検出する検出手段と、
前記検出手段により前記１以上の種別のうちのいずれか１つの種別のイベントの発生が検出された場合、その時点で前記生成手段により生成されている前記ツリーデータが、前記規則データが示す前記１以上の条件のうちのいずれか１つの条件を満たすか否かを判定する判定手段と、
前記判定手段により前記ツリーデータが前記１以上の条件のうちのいずれか１つの条件を満たすと判定された場合、前記規則データが示す前記１以上の規則のうち前記判定手段により満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更手段と、
前記生成手段により生成された前記ツリーデータに従いＷｅｂページを表す画像データを生成し、当該画像データが表すＷｅｂページの表示を表示装置に指示し、前記変更手段により前記ツリーデータが変更された場合は変更後の前記ツリーデータに従いＷｅｂページを表す画像データを生成し、当該画像データが表すＷｅｂページの表示を前記表示装置に指示する表示指示手段と
を備える端末装置。
【請求項１０】
前記規則データは、前記判定手段による前記判定の実行のトリガとなる２以上のイベントの種別と、前記２以上のイベントの種別の各々に対応する、ツリーデータの変更のための２以上の条件とツリーデータの変更のための２以上の規則とを示し、
前記判定手段は、前記規則データが示す２以上の条件のうち前記検出手段により発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定し、
前記変更手段は、前記規則データが示す２以上の規則のうち前記検出手段により発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更する
請求項９に記載の端末装置。
【請求項１１】
前記規則データは、複数のプログラムの各々の実行を前記判定手段による前記判定の実行のトリガとなる異なるイベントの種別として示し、
前記検出手段により前記複数のプログラムのうちのいずれか１つのプログラムの実行が検出された場合、前記判定手段は、前記規則データが示す２以上の条件のうち前記検出手段により実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定する
請求項１０に記載の端末装置。
【請求項１２】
前記規則データは、プログラムの実行を前記判定手段による前記判定の実行のトリガとなるイベントの種別として示し、
前記検出手段によりプログラムの実行が検出された場合、前記判定手段は前記判定を実行する
請求項９に記載の端末装置。
【請求項１３】
請求項１に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、
前記表示指示データに、請求項１に記載のプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加手段と、
前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段と
を備えるサーバ装置。
【請求項１４】
前記追加手段は、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを請求項１に記載のプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加する
請求項１３に記載のサーバ装置。
【請求項１５】
請求項１に記載のプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、
前記表示指示データに、請求項１に記載のプログラムを追加する追加手段と、
前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段と
を備えるサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置においてＷｅｂページを表示させるための技術に関する。
【背景技術】
【０００２】
端末装置において実行されるＷｅｂブラウザにより、サーバ装置から配信されるＷｅｂページを表示する技術が広く普及している。Ｗｅｂページの配信者がＷｅｂページの内容に変更を加えたい場合、通常、ＷｅｂページのデザイナがＷｅｂページに変更を加え、変更後のＷｅｂページをサーバ装置にアップロードする必要がある。【０００３】
Ｗｅｂページに対する変更を迅速に行う技術を提案する特許文献として、例えば特許文献１がある。特許文献１には、クライアント・アプリケーションによって、Ｗｅｂページに含まれる対象コンテンツをレンダリングするリクエストをインターセプトし、リクエストされた対象コンテンツと要素が異なる１以上の置換コンテンツの中から所定の基準に基づいて選択したコンテンツをリクエストされた対象コンテンツに代えてレンダリングを行うことにより、Ｗｅｂページの表示内容を変更する技術が開示されている。【０００４】
特許文献１に記載の技術によれば、例えば、Ｗｅｂページの広告効果の向上のために、Ｗｅｂページに含まれる文言をＷｅｂページの閲覧者の属性等に応じて容易に変更することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表２０１４−５０７０３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
Ｗｅｂページの基本構成は、現在、ＨＴＭＬ、ＸＭＬ、ＸＨＴＭＬ等の言語で記述されている。以下、Ｗｅｂページの基本構成を記述したデータを「文書」という。近年では、Ｗｅｂページの外観を指定するスタイルシートを、ＨＴＭＬ等で記述されたＷｅｂページの文書に適用することにより、Ｗｅｂページの外観を変更することが広く行われている。スタイルシートの記述には、現在、ＣＳＳ、ＤＳＳＳＬ、ＸＳＬ等の言語が用いられている。【０００７】
Ｗｅｂページの文書にはプログラムが含まれる場合がある。Ｗｅｂページの文書内に含まれるプログラムはテキスト形式で記述され、その多くはインタープリタ型の簡易な言語で記述されるため、「スクリプト」と呼ばれることが多い。以下、本願において、Ｗｅｂページの文書に内包されるプログラムを便宜的に「スクリプト」と呼ぶが、本願において「スクリプト」は「プログラム」と同義である。すなわち、本願において、「スクリプト」という場合、そのプログラムの記述に使用されるプログラミング言語が簡易であるか否か、インタープリタ型であるか否か、等が限定されることはない。また、「スクリプトを実行する」という場合、スクリプトにより呼び出されるプログラムの実行を含む。すなわち、スクリプトには実行されるコードの全てが記述されている必要はない。【０００８】
スクリプトはＷｅｂブラウザにより解釈され実行される。スクリプトによれば、Ｗｅｂページ内で表示するコンテンツの切り替え、Ｗｅｂページ内で表示する文書やスタイルシートの変更等が可能となる。従って、Ｗｅｂページのデザイナは、Ｗｅｂページの文書にスクリプトを記述することにより、閲覧者との間でインタラクティブに動作するＷｅｂページや、Ｗｅｂページの閲覧者の属性、閲覧時刻、閲覧場所等に応じて表示内容が変化するＷｅｂページ等の、表現力豊かなＷｅｂページをデザインすることができる。【０００９】
スクリプトの記述には、現在、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＶＢＳｃｒｉｐｔ、ＤＨＴＭＬ等が用いられている。なお、ＪａｖａＳｃｒｉｐｔによってＨＴＴＰリクエストを所定のサーバ装置に送信し、ＨＴＭＬ等で記述された新たなＷｅｂページの文書を当該サーバ装置から取得し、閲覧者のＷｅｂページに対する操作等と非同期にＷｅｂページの表示内容を変更するＡｊａｘ等の技術も普及しつつある。【００１０】
ところで、既存のＷｅｂページに対し、所定の規則に従った変更を加えたい場合がある。典型的な例としては、Ｗｅｂページ中に表示される特定の言葉を一括して他の言葉に置換したり、Ｗｅｂページ中に表示される画像の解像度を所定の比率で増減したり、特定のフォントを他のフォントに変更したり、ＨＴＭＬの属性の値を別の値に変更したりすることが挙げられる。【００１１】
Ｗｅｂページの要素および属性のうち、ＨＴＭＬ等で記述された文書（スクリプト部分を除く）およびＣＳＳ等で記述されたスタイルシートに記述されているものに関しては、これらの言語で記述されているテキストを所定の規則に従い置換することにより、Ｗｅｂページに対する所定の規則に従った変更を容易に行うことができる。【００１２】
一方、Ｗｅｂページの要素および属性のうち、スクリプトの実行に伴い定まるものに関しては、所定の規則に従った変更を容易に行う術がない。スクリプトはプログラムであり、スクリプトの実行内容はＷｅｂページが表示される環境や入力データ等に応じて様々に変化するため、スクリプトそのものからは、スクリプトに従いＷｅｂページに表示される要素やその属性を特定できないためである。【００１３】
そのため、従来、Ｗｅｂページに対し所定の規則に従った変更を加えたい場合、ＷｅｂデザイナはＷｅｂページの文書内のスクリプトに関しては、スクリプトそのものや、スクリプトの実行により取得されるコンテンツ等を個別に変更していく必要があった。そのため、スクリプトが用いられたＷｅｂページは閲覧者に対し豊かな表現力の表示内容を提供できるという長所を持つ一方で、メインテナンス性が低いという短所を持っている。【００１４】
上述の背景に鑑み、本発明は、スクリプトが用いられたＷｅｂページに対し、所定の規則に従った変更を容易に反映可能とする手段の提供を目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決するために、本発明は、Ｗｅｂページの表示をＷｅｂブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する表示指示データ受信処理と、前記表示指示データ受信処理において受信した前記表示指示データに基づいて、前記Ｗｅｂページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成処理と、前記表示指示データ受信処理において受信した前記表示指示データが前記Ｗｅｂページに表示される１以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記１以上のコンテンツデータの送信を要求する要求データを前記１以上のコンテンツデータの配信元のサーバ装置に送信する送信処理と、前記送信処理において送信した前記要求データに対する応答として送信されてくる前記１以上のコンテンツデータを受信するコンテンツデータ受信処理とを実行し、前記表示指示データ受信処理において受信した前記表示指示データまたは前記コンテンツデータ受信処理において受信した前記１以上のコンテンツデータが１以上のプログラムを含む場合、前記１以上のプログラムの各々を実行し、前記１以上のプログラムの各々の実行に伴い前記生成処理を繰り返し、前記生成処理において生成した前記ツリーデータに従いＷｅｂページを表す画像データを生成し、当該画像データが表すＷｅｂページの表示を表示装置に指示する表示指示処理を実行するコンピュータに、１以上のイベントの種別と、ツリーデータの変更のための１以上の条件と、ツリーデータの変更のための１以上の規則であって前記１以上の条件の各々に対応した１以上の規則とを示す規則データを取得する取得処理と、前記表示指示データ受信処理の後に前記規則データが示す前記１以上の種別のイベントの発生の監視を開始し、当該監視において前記１以上の種別のイベントの発生を検出する検出処理と、前記検出処理において前記１以上の種別のうちのいずれか１つの種別のイベントの発生が検出された場合、その時点で前記生成処理において生成されている前記ツリーデータが、前記規則データが示す前記１以上の条件のうちのいずれか１つの条件を満たすか否かを判定する判定処理と、前記判定処理において前記ツリーデータが前記１以上の条件のうちのいずれか１つの条件を満たすと判定した場合、前記規則データが示す前記１以上の規則のうち前記判定処理において満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更処理とを実行させ、前記変更処理において前記ツリーデータが変更された場合、変更後の前記ツリーデータを用いて前記表示指示処理を実行させるためのプログラムを第１の態様として提供する。
【００１７】
また、上記の第１の態様にかかるプログラムにおいて、前記規則データは、前記判定処理の実行のトリガとなる２以上のイベントの種別と、前記２以上のイベントの種別の各々に対応する、ツリーデータの変更のための２以上の条件とツリーデータの変更のための２以上の規則とを示し、前記コンピュータに、前記判定処理において、前記規則データが示す２以上の条件のうち前記検出処理において発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定させ、前記変更処理において、前記規則データが示す２以上の規則のうち前記検出処理において発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更させる、という構成が第２の態様として採用されてもよい。
【００１８】
また、上記の第２の態様にかかるプログラムにおいて、前記規則データは、複数のプログラムの各々の実行を前記判定処理の実行のトリガとなる異なるイベントの種別として示し、前記コンピュータに、前記検出処理において前記複数のプログラムのうちのいずれか１つのプログラムの実行を検出した場合、前記判定処理において、前記規則データが示す２以上の条件のうち前記検出処理において実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定させる、という構成が第３の態様として採用されてもよい。
【００１９】
また、上記の第１の態様にかかるプログラムにおいて、前記規則データは、プログラムの実行を前記判定処理の実行のトリガとなるイベントの種別として示し、前記コンピュータに、前記検出処理においてプログラムの実行を検出した場合、前記判定処理を実行させる、という構成が第４の態様として採用されてもよい。
【００２０】
また、上記の第１の態様にかかるプログラムにおいて、当該プログラムが、前記コンピュータが前記表示指示データ受信処理において受信する前記表示指示データに含まれる、という構成が第５の態様として採用されてもよい。
【００２３】
また、本発明は、上記の第１の態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、前記表示指示データに、上記の第１の態様にかかるプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加処理と、前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理とを実行させるためのプログラムを第６の態様として提供する。
【００２４】
また、上記の第６の態様にかかるプログラムにおいて、前記サーバ装置用のコンピュータに、前記追加処理において、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを上記の第１の態様にかかるプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加させる、という構成が第７の態様として採用されてもよい。
【００２５】
また、本発明は、上記の第１の態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置用のコンピュータに、前記表示指示データに、上記の第１の態様にかかるプログラムを追加する追加処理と、前記追加処理においてプログラムを追加した前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信処理とを実行させるためのプログラムを第８の態様として提供する。
【００２６】
また、本発明は、Ｗｅｂページの表示をＷｅｂブラウザに指示する表示指示データを前記表示指示データの配信元のサーバ装置から受信する受信手段と、前記受信手段により受信された前記表示指示データに基づいて、前記Ｗｅｂページに表示される複数の情報と当該複数の情報の関係を示すツリー構造とを示すツリーデータを生成する生成手段と、前記受信手段により受信された前記表示指示データが前記Ｗｅｂページに表示される１以上のコンテンツを表すコンテンツデータの配信元情報を含む場合、前記配信元情報に基づき、前記１以上のコンテンツデータの送信を要求する要求データを前記１以上のコンテンツデータの配信元のサーバ装置に送信する送信手段とを備え、前記受信手段は、前記送信手段により送信された前記要求データに対する応答として送信されてくる前記１以上のコンテンツデータを受信し、前記受信手段により受信された前記表示指示データまたは前記１以上のコンテンツデータが１以上のプログラムを含む場合、前記１以上のプログラムの各々を実行する実行手段を備え、前記生成手段は、前記実行手段による前記１以上のプログラムの各々の実行に伴いツリーデータの生成を繰り返し、１以上のイベントの種別と、ツリーデータの変更のための１以上の条件と、ツリーデータの変更のための１以上の規則であって前記１以上の条件の各々に対応した１以上の規則とを示す規則データを取得する取得手段と、前記受信手段による前記表示指示データの受信の後に前記規則データが示す前記１以上の種別のイベントの発生の監視を開始し、当該監視において前記１以上の種別のイベントの発生を検出する検出手段と、前記検出手段により前記１以上の種別のうちのいずれか１つの種別のイベントの発生が検出された場合、その時点で前記生成手段により生成されている前記ツリーデータが、前記規則データが示す前記１以上の条件のうちのいずれか１つの条件を満たすか否かを判定する判定手段と、前記判定手段により前記ツリーデータが前記１以上の条件のうちのいずれか１つの条件を満たすと判定された場合、前記規則データが示す前記１以上の規則のうち前記判定手段により満たされると判定された条件に対応する規則に従い前記ツリーデータを変更する変更手段と、前記生成手段により生成された前記ツリーデータに従いＷｅｂページを表す画像データを生成し、当該画像データが表すＷｅｂページの表示を表示装置に指示し、前記変更手段により前記ツリーデータが変更された場合は変更後の前記ツリーデータに従いＷｅｂページを表す画像データを生成し、当該画像データが表すＷｅｂページの表示を前記表示装置に指示する表示指示手段とを備える端末装置を第９の態様として提供する。
【００２８】
また、上記の第９の態様にかかる端末装置において、前記規則データは、前記判定手段による前記判定の実行のトリガとなる２以上のイベントの種別と、前記２以上のイベントの種別の各々に対応する、ツリーデータの変更のための２以上の条件とツリーデータの変更のための２以上の規則とを示し、前記判定手段は、前記規則データが示す２以上の条件のうち前記検出手段により発生が検出されたイベントの種別に対応する条件を前記ツリーデータが満たすか否かを判定し、前記変更手段は、前記規則データが示す２以上の規則のうち前記検出手段により発生が検出されたイベントの種別に対応する規則に従い前記ツリーデータを変更する、という構成が第１０の態様として採用されてもよい。
【００２９】
また、上記の第１０の態様にかかる端末装置において、前記規則データは、複数のプログラムの各々の実行を前記判定手段による前記判定の実行のトリガとなる異なるイベントの種別として示し、前記検出手段により前記複数のプログラムのうちのいずれか１つのプログラムの実行が検出された場合、前記判定手段は、前記規則データが示す２以上の条件のうち前記検出手段により実行が検出されたプログラムに対応する条件を前記ツリーデータが満たすか否かを判定する、という構成が第１１の態様として採用されてもよい。
【００３０】
また、上記の第９の態様にかかる端末装置において、前記規則データは、プログラムの実行を前記判定手段による前記判定の実行のトリガとなるイベントの種別として示し、前記検出手段によりプログラムの実行が検出された場合、前記判定手段は前記判定を実行する、という構成が第１２の態様として採用されてもよい。
【００３３】
また、本発明は、上記の第１の実施態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、前記表示指示データに、上記の第１の態様にかかるプログラムを当該プログラムの配信元のサーバ装置から取得する処理を前記端末装置用のコンピュータに実行させるためのプログラムを追加する追加手段と、前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段とを備えるサーバ装置を第１３の態様として提供する。
【００３４】
また、上記の第１３の態様にかかるサーバ装置において、前記追加手段は、前記端末装置用のコンピュータの属性または前記端末装置用のコンピュータを使用するユーザの属性を示す属性データを上記の第１の態様にかかるプログラムの配信元のサーバ装置に送信する処理を前記端末装置用のコンピュータに実行させるためのプログラムを前記表示指示データに追加する、という構成が第１４の態様として採用されてもよい。
【００３５】
また、本発明は、上記の第１の態様にかかるプログラムを実行する端末装置用のコンピュータに前記表示指示データを送信するサーバ装置であって、前記表示指示データに、上記の第１の態様にかかるプログラムを追加する追加手段と、前記追加手段によりプログラムが追加された前記表示指示データを前記端末装置用のコンピュータに宛てて送信する送信手段とを備えるサーバ装置を第１５の態様として提供する。
【発明の効果】
【００３６】
本発明によれば、Ｗｅｂページの表示を指示する表示指示データにプログラムが含まれる場合であっても、プログラムの実行の結果が反映されたツリーデータが所定の条件を満たす場合、所定の規則に従いツリーデータが変更されるため、スクリプトの有無にかかわらず、Ｗｅｂページに対する所定の規則に従う変更が容易に実現される。
【図面の簡単な説明】
【００３７】
【図１】一実施形態にかかるＷｅｂページ表示システムの全体構成を示した図。
【図２】一実施形態にかかる端末装置のハードウェア構成を示した図。
【図３】一実施形態にかかる端末装置の機能構成を示した図。
【図４】一実施形態にかかるプロキシサーバ装置のハードウェア構成を示した図。
【図５】一実施形態にかかるプロキシサーバ装置の機能構成を示した図。
【図６】一実施形態にかかるＷｅｂサーバ装置のハードウェア構成を示した図。
【図７】一実施形態にかかるＷｅｂサーバ装置の機能構成を示した図。
【図８】一実施形態にかかるＷｅｂページ表示システムが行う処理のシーケンスを示した図。
【図９】一実施形態にかかるプロキシサーバ装置においてスクリプトの実行に伴いイベントを生成するコードが追加される前の文書データを例示した図。
【図１０】一実施形態にかかるプロキシサーバ装置においてスクリプトの実行に伴いイベントを生成するコードが追加された後の文書データを例示した図。
【図１１】一実施形態にかかるプロキシサーバ装置において文書データに追加される規則データの構成を例示した図。
【図１２】一実施形態にかかる端末装置において生成されるツリーデータを例示した図。
【図１３】一実施形態にかかる端末装置において生成されるツリーデータを例示した図。
【図１４】一実施形態にかかる端末装置において表示されるＷｅｂページを例示した図。
【図１５】一実施形態にかかるＷｅｂページ表示システムが行う処理のシーケンスを示した図。
【図１６】一実施形態にかかるプロキシサーバ装置において実行に伴いイベントを生成するコードが追加される前のスクリプトを例示した図。
【図１７】一実施形態にかかるプロキシサーバ装置において実行に伴いイベントを生成するコードが追加された後のスクリプトを例示した図。
【図１８】一実施形態にかかる端末装置が行う処理のフローを示した図。
【図１９】一実施形態にかかる端末装置にツリーデータの変更の処理を指示するスクリプトの一部を例示した図。
【図２０】一実施形態にかかる端末装置において生成されるツリーデータを例示した図。
【図２１】一実施形態にかかる端末装置において表示されるＷｅｂページを例示した図。
【発明を実施するための形態】
【００３８】
［実施形態の構成］
以下に、本発明の一実施形態にかかるＷｅｂページ表示システム１を説明する。Ｗｅｂページ表示システム１は、Ｗｅｂページにスクリプトが含まれる場合であっても、当該Ｗｅｂページのデザイナが当該Ｗｅｂページに対し所定の規則に従う変更を容易に行うことを可能とするシステムである。
【００３９】
図１は、Ｗｅｂページ表示システム１の全体構成を示した図である。Ｗｅｂページ表示システム１は、端末装置１１と、プロキシサーバ装置１２と、Ｗｅｂサーバ装置１３を備える。端末装置１１、プロキシサーバ装置１２およびＷｅｂサーバ装置１３は、ネットワーク９に接続している。端末装置１１とＷｅｂサーバ装置１３はネットワーク９を介して互いにデータ通信を行う。
【００４０】
端末装置１１は、Ｗｅｂページの閲覧者（以下、「ユーザ」という）に対しＷｅｂページの表示を行う。プロキシサーバ装置１２は端末装置１１とＷｅｂサーバ装置１３との間のデータ通信を中継し、Ｗｅｂサーバ装置１３に対し端末装置１１の代理装置として振る舞う。Ｗｅｂサーバ装置１３は端末装置１１からの要求に応じて、Ｗｅｂページの表示に要する各種データを端末装置１１に宛てて送信する。
【００４１】
なお、図１においては端末装置１１、プロキシサーバ装置１２、およびＷｅｂサーバ装置１３は説明の便宜のため、各々１つのみ示されているが、これらの装置の数は２以上であってもよい。例えば、端末装置１１の数はＷｅｂページ表示システム１を利用するユーザ（閲覧者）の数に応じて様々に変化する。また、Ｗｅｂサーバ装置１３の数は、Ｗｅｂページを提供するサイトの数、Ｗｅｂページの表示に用いられる各種コンテンツの量や種別数等に応じて様々に変化する。
【００４２】
Ｗｅｂサーバ装置１３から端末装置１１に宛てて送信されるＷｅｂページの表示に要する各種データとは、Ｗｅｂページの表示を指示する表示指示データや、Ｗｅｂページに表示される画像等のコンテンツを示すコンテンツデータ等である。また、Ｗｅｂページの表示を指示する表示指示データには、ＨＴＭＬ等の言語で記述されＷｅｂページの文書を示す文書データや、ＣＳＳ等の言語で記述されＷｅｂページの外観を示すスタイルシートデータ等が含まれる。文書データにはスクリプトが含まれる場合がある。文書データに含まれるスクリプトを示す部分もまた、表示指示データの一部である。
【００４３】
図２は、端末装置１１のハードウェア構成の一例を示した図である。端末装置１１のハードウェア構成は一般的な端末装置用のコンピュータである。図２に例示のコンピュータはタッチディスプレイを内蔵するタブレット型のコンピュータであり、各種データを記憶するメモリ１１０１、メモリ１１０１に記憶されているプログラムに従った各種処理を実行するプロセッサ１１０２、ネットワーク９を介して他の装置との間でデータ通信を行う通信ＩＦ（Interface）１１０３、ユーザに対し各種画像を表示するとともにユーザのタッチ操作を受け付けるタッチディスプレイ１１０４を備える。
【００４４】
端末装置１１に用いられるコンピュータの種別はタブレット型に限られず、ノート型やデスクトップ型等のいずれであってもよい。従って、端末装置１１は、タッチディスプレイ１１０４に代えて、例えば液晶ディスプレイ等の表示装置と、キーボードやマウス等の操作装置とを個別に備えていてもよい。また、端末装置１１は、表示装置と操作装置の少なくとも一部を内蔵せず、外部の装置との間のデータ入出力を行う入出力ＩＦを備え、入出力ＩＦに接続された外部の表示装置や操作装置との間で各種データの入出力を行う構成であってもよい。
【００４５】
図３は、端末装置１１の機能構成を示した図である。すなわち、図２に示したハードウェア構成を備えるコンピュータがプログラムに従う処理を行うことにより、図３に示す構成部を備える装置として機能する。端末装置１１は、機能構成部として、まず、プロキシサーバ装置１２を介してＷｅｂサーバ装置１３にＷｅｂページの表示に要する各種データの要求等を送信する送信手段１１１、プロキシサーバ装置１２を介してＷｅｂサーバ装置１３からＷｅｂページの表示に要する各種データ等を受信する受信手段１１２（取得手段の一例）、Ｗｅｂページの文書データに含まれるスクリプト等に従った各種処理を実行する実行手段１１３、Ｗｅｂページの表示指示データに従い表示されるＷｅｂページに含まれる要素の間の関係をツリー構造で示すツリーデータを生成する生成手段１１４を備える。
【００４６】
端末装置１１は、さらに、所定のイベントの発生を検出する検出手段１１５、生成手段１１４により生成されたツリーデータが示すツリー構造に所定の条件を満たす１以上の枝が含まれるか否かを判定する判定手段１１６、判定手段１１６による判定においてツリー構造に所定の条件を満たす１以上の枝が含まれると判定された場合に当該１以上の枝を所定の規則に従い変更する変更手段１１７、生成手段１１４により生成されたツリーデータまたは変更手段１１７により変更されたツリーデータに従いＷｅｂページの表示をタッチディスプレイ１１０４が備えるディスプレイ（表示装置の一例）に指示する表示指示手段１１８を備える。
【００４７】
図４は、プロキシサーバ装置１２のハードウェア構成の一例を示した図である。プロキシサーバ装置１２のハードウェア構成は一般的なサーバ装置用のコンピュータである。図４に例示のコンピュータは、各種データを記憶するメモリ１２０１、メモリ１２０１に記憶されているプログラムに従った各種処理を実行するプロセッサ１２０２、ネットワーク９を介して他の装置との間でデータ通信を行う通信ＩＦ１２０３を備える。
【００４８】
図５は、プロキシサーバ装置１２の機能構成を示した図である。すなわち、図４に示したハードウェア構成を備えるコンピュータがプログラムに従う処理を行うことにより、図５に示す構成部を備える装置として機能する。プロキシサーバ装置１２は、機能構成部として、端末装置１１およびＷｅｂサーバ装置１３から各種データを受信する受信手段１２１、端末装置１１およびＷｅｂサーバ装置１３に各種データを送信する送信手段１２２、Ｗｅｂサーバ装置１３から受信したＷｅｂページの表示指示データにスクリプトやコードを追加する追加手段１２３を備える。
【００４９】
図６は、Ｗｅｂサーバ装置１３のハードウェア構成の一例を示した図である。Ｗｅｂサーバ装置１３のハードウェア構成は一般的なサーバ装置用のコンピュータである。図６に例示のコンピュータは、各種データを記憶するメモリ１３０１、メモリ１３０１に記憶されているプログラムに従った各種処理を実行するプロセッサ１３０２、ネットワーク９を介して他の装置との間でデータ通信を行う通信ＩＦ１３０３を備える。
【００５０】
図７は、Ｗｅｂサーバ装置１３の機能構成を示した図である。すなわち、図６に示したハードウェア構成を備えるコンピュータがプログラムに従う処理を行うことにより、図７に示す構成部を備える装置として機能する。Ｗｅｂサーバ装置１３は、機能構成部として、プロキシサーバ装置１２を介して端末装置１１からＷｅｂページの表示に要する各種データの要求等を受信する受信手段１３１、受信手段１３１が受信した要求に応じてメモリ１３０１等に記憶されているＷｅｂページの表示指示データやコンテンツデータ等を読み出して取得する取得手段１３２、取得手段１３２が取得したＷｅｂページの表示指示データやコンテンツデータ等を、プロキシサーバ装置１２を介して端末装置１１に送信する送信手段１３３を備える。
【００５１】
図８は、Ｗｅｂページ表示システム１が行う処理のシーケンスの概要を示した図である。まず、ユーザは端末装置１１において実行されているＷｅｂブラウザにおいて、表示したいＷｅｂページのＵＲＩを入力する。ユーザがＵＲＩを入力する方法は、ＵＲＩを直接入力する方法に限られず、例えばＵＲＩがリンクされているボタンをタッチ操作する等のいずれの方法であってもよい。端末装置１１は入力されたＵＲＩに従い、Ｗｅｂページの文書データ（表示指示データの一部）の送信を要求する要求データをＷｅｂサーバ装置１３に宛てて送信する（ステップＳ１０１）。
【００５２】
端末装置１１から送信された要求データは、プロキシサーバ装置１２により受信される。プロキシサーバ装置１２は、受信した要求データを、宛先のＷｅｂサーバ装置１３に転送する（ステップＳ１０２）。
【００５３】
Ｗｅｂサーバ装置１３は、プロキシサーバ装置１２を介して端末装置１１から送信されてきた要求データに応じて、Ｗｅｂページの文書データを端末装置１１に宛てて送信する（ステップＳ１０３）。Ｗｅｂサーバ装置１３から送信された文書データは、プロキシサーバ装置１２により受信される。プロキシサーバ装置１２の追加手段１２３は、Ｗｅｂサーバ装置１３から受信した文書データに含まれるスクリプトのうち所定の条件を満たすスクリプトに、当該スクリプトの実行に伴いイベントの生成を命じるコード（以下、「コードＹ」という）を追加する（ステップＳ１０４）。
【００５４】
ステップＳ１０４において追加手段１２３がコードを追加するスクリプトが満たす所定の条件とは、例えば、Ｗｅｂページの表示内容に変更を加える可能性のある所定のコードや、Ｗｅｂページの表示内容に変更を加えるか否かが不明なコードを含むスクリプトである、という条件である。
【００５５】
図９はステップＳ１０４においてコードＹが追加される前の文書データを例示した図である。図１０はステップＳ１０４においてコードＹが追加された後の文書データを例示した図である。図９および図１０に示すスクリプトＡがコードＹの追加対象のスクリプトであり、図１０に示す「fireScriptEvent()」がコードＹである。
【００５６】
図１０に示す例では、コードＹはスクリプトの最後に追加されている。コードＹの追加の位置はスクリプトの最後に限られず、例えば、スクリプトの先頭や、スクリプトに含まれる所定の種別のコードの後または前などであってもよい。また、図１０に示す例では、１つのスクリプトに追加されるコードＹの数は１つであるが、１つのスクリプトに２以上のスクリプトが追加されてもよい。
【００５７】
図８に戻り、Ｗｅｂページ表示システム１の処理のシーケンスの説明を続ける。追加手段１２３は、ステップＳ１０４の処理に続き、文書データに対し、文書データに従い表示されるＷｅｂページのツリーデータを所定の規則に従い変更する処理を命じるスクリプト（以下、「スクリプトＸ」という）を追加する（ステップＳ１０５）。なお、ステップＳ１０４とステップＳ１０５の処理の順序はいずれが先であってもよい。
【００５８】
スクリプトＸは、Ｗｅｂページのツリーデータの変更処理のトリガとなるイベントの種別や変更の規則を示す規則データを含んでいる。図１１は、スクリプトＸに含まれる規則データの構成例を示した図である。規則データは、各々がパラメータＩＤで識別される複数のパラメータデータの集まりである。スクリプトＸは、規則データに含まれるパラメータデータに従い、様々な種別のイベントの発生に応じて、当該イベントの種別に応じて異なる所定の規則に従いツリーデータの変更を行う。
【００５９】
規則データに含まれるパラメータデータの各々は、フィールドとして［パラメータＩＤ］、［イベント種別］、［変更規則］を有している。また、フィールド［イベント種別］には、サブフィールド［イベント名］、［イベント発生対象］が含まれ、フィールド［変更規則］にはサブフィールド［条件］、［変換コード］が含まれる。
【００６０】
フィールド［パラメータＩＤ］には、パラメータを識別するパラメータＩＤ（上述）が格納される。フィールド［イベント種別］には、スクリプトＸの実行のトリガとなるイベントの種別を示すデータが格納される。すなわち、サブフィールド［イベント名］に格納されるデータにより識別される種別のイベントが、サブフィールド［イベント発生対象］に格納されるデータが示す対象において発生した場合、スクリプトＸが実行されることになる。
【００６１】
フィールド［変更規則］には、フィールド［イベント種別］に格納されるデータが示す種別のイベントが発生した場合にスクリプトＸがツリーデータに対し行う変更の規則を示すデータが格納される。すなわち、スクリプトＸの実行により、ツリーデータが示すツリー構造の中から、サブフィールド［条件］に格納されるデータにより示される条件を満たす枝（または枝群）が検索された場合、サブフィールド［変換コード］に格納されるコードに従うツリーデータの変換が行われる。
【００６２】
なお、図１１に例示のイベント名「ｔｒｅｅｃｈａｎｇｅ」は、イベント発生対象の枝（要素）の内容が変更された、というイベントを示す。また、イベント名「ｃｌｉｃｋ」は、イベント発生対象の枝（要素）が示すオブジェクトに対しクリック操作が行われた、というイベントを示す。また、イベント名「ｃｏｄｅｅｘｅｃｕｔｉｏｎ」は、イベント発生対象のパラメータＩＤで識別されるパラメータデータに従ったツリーデータの変更処理が実行された、というイベントを示す。
【００６３】
再び図８に戻り、Ｗｅｂページ表示システム１の処理のシーケンスの説明を続ける。プロキシサーバ装置１２は、ステップＳ１０４の処理により必要に応じてコードＹが追加され、また、ステップＳ１０５の処理によりスクリプトＸが追加された文書データを端末装置１１に送信する（ステップＳ１０６）。
【００６４】
端末装置１１は、ステップＳ１０１において送信した要求データに応じてプロキシサーバ装置１２から送信されてきたＷｅｂページの文書データを受信すると、受信した文書データに従い、Ｗｅｂページのツリーデータの生成（ステップＳ１０７）、Ｗｅｂページの表示に要するコンテンツデータの取得（ステップＳ１０８）、文書データに含まれるスクリプトＸの実行（ステップＳ１０９）、文書データに含まれるスクリプトＸ以外のスクリプトの実行（ステップＳ１１０）を平行して行う。
【００６５】
なお、ステップＳ１０７〜Ｓ１１０の処理が実行される回数は各々、１回とは限らず、必要に応じて何度でも実行される。例えば、ステップＳ１０７のツリーデータの生成は、ステップＳ１０９またはＳ１１０におけるスクリプトの実行に伴い繰り返し実行される。また、ステップＳ１１０のスクリプトＸではないスクリプトの実行は、ステップＳ１０６において端末装置１１が受信した文書データに含まれるスクリプトの数だけ繰り返されるとともに、ステップＳ１０８においてスクリプトを含むコンテンツデータが取得された場合にも繰り返し実行される。また、ステップＳ１０９のスクリプトＸの実行は、規則データのフィールド［イベント種別］に格納されるデータが示すイベントの発生に伴い繰り返し実行される。また、ステップＳ１０８のコンテンツデータの取得は、ステップＳ１０６において端末装置１１が受信した文書データが示す外部コンテンツへの参照の数だけ繰り返されるとともに、ステップＳ１０８において新たな外部コンテンツへの参照を含むコンテンツデータが取得された場合等にも繰り返される。図８において、ステップＳ１０７〜Ｓ１１０の繰り返し実行に関するフローの図示は省略されている。
【００６６】
図１２と図１３は、図１０に例示の文書データに従い、ステップＳ１０７において生成手段１１４が生成するツリーデータを模式的に示した図である。ツリーデータが示すＷｅｂページの要素の間の関係を示すツリーはＤＯＭ（Document Object Model）ツリーと呼ばれる。
【００６７】
図１２は、ステップＳ１１０において実行手段１１３により文書データに含まれるスクリプトＡが実行される前に、ステップＳ１０７において生成手段１１４により生成されるツリーデータが示すＤＯＭツリーである。図１３は、ステップＳ１１０において実行手段１１３により文書データに含まれるスクリプトＡが実行された後に、ステップＳ１０７において生成手段１１４により生成されるツリーデータが示すＤＯＭツリーである。図１３に示す枝群Ｂが、スクリプトＡの実行により追加された要素を示す部分である。このように、生成手段１１４は、例えばスクリプトの実行等によりＷｅｂページの表示内容に変更が加えられる毎にツリーデータの生成（ステップＳ１０７）を行う。図１４は、図１３に示したＤＯＭツリーに従い表示されるＷｅｂページを模式的に示した図である。
【００６８】
再び図８に戻り、Ｗｅｂページ表示システム１の処理のシーケンスの説明を続ける。ステップＳ１０８において、端末装置１１の送信手段１１１は文書データ（文書データに含まれるスクリプトに従い取得した文書データを含む）に示されるＵＲＩに従い、Ｗｅｂサーバ装置１３に宛ててコンテンツデータの送信を要求する要求データを送信し、受信手段１１２は当該要求データに対する応答として送信されてくるコンテンツデータを受信する。なお、ステップＳ１０８におけるコンテンツデータの要求データの宛先のＷｅｂサーバ装置１３は、ステップＳ１０１における文書データの要求データの宛先のＷｅｂサーバ装置１３と同じであっても異なっていてもよい。また、ステップＳ１０８において複数のコンテンツデータの要求データが送信される場合、それらの要求データの宛先のＷｅｂサーバ装置１３は異なっていてもよい。なお、図８において、Ｗｅｂページ表示システム１がステップＳ１０８に伴い行う処理のシーケンスの図示は省略されている。
【００６９】
ステップＳ１０８において端末装置１１が取得するコンテンツデータが、スクリプトである場合がある。図１５は、端末装置１１がステップＳ１０８において取得するコンテンツデータがスクリプトである場合に、Ｗｅｂページ表示システム１が行う処理のシーケンスを模式的に示した図である。
【００７０】
図１５に示す処理のシーケンスのステップＳ２０１〜Ｓ２０５のうち、ステップＳ２０１〜Ｓ２０４は、図８に示した処理のシーケンスのステップＳ１０１〜Ｓ１０４と同様の処理であり、ステップＳ２０５は、ステップＳ１０６と同様の処理である。すなわち、端末装置１１がステップＳ１０６において受信した文書データに従いスクリプト（またはスクリプトを含む文書データ）をＷｅｂサーバ装置１３から取得する場合、当該スクリプトがＤＯＭツリーに変更を加える可能性があるか、またはＤＯＭツリーに変更を加える可能性の有無が不明であれば、プロキシサーバ装置１２の追加手段１２３によって当該スクリプトに対しコードＹが追加され、コードＹが追加されたスクリプトが端末装置１１に送信される。
【００７１】
図１６は、ステップＳ２０４においてコードＹが追加される前のスクリプトを例示した図である。図１７はステップＳ２０４においてコードＹが追加された後のスクリプトを例示した図である。
【００７２】
再び図８に戻り、Ｗｅｂページ表示システム１の処理のシーケンスの説明を続ける。ステップＳ１０９において、端末装置１１の検出手段１１５、判定手段１１６および変更手段１１７はスクリプトＸを実行する。スクリプトＸは、規則データ（図１１）のフィールド［イベント種別］に格納されるデータが示す種別のイベントが発生したことをトリガに、フィールド［変更規則］に格納されるデータに従いツリーデータを変更する処理を指示するスクリプトである。検出手段１１５、判定手段１１６および変更手段１１７は、スクリプトＸに従う処理を、ステップＳ１０６において端末装置１１が受信した文書データに従うＷｅｂページの表示が行われる間、継続する。
【００７３】
図１８は、スクリプトＸに従い端末装置１１が行う処理のフローを模式的に示した図である。まず、検出手段１１５は、所定のイベントの発生の監視（ステップＳ９０１）を開始する。ステップＳ９０１において検出手段１１５が監視する所定のイベントは、規則データ（図１１）のフィールド［イベント種別］に格納されるデータが示す種別のイベントである。これらの監視対象のイベントには、図１１に例示のデータが示すイベントの他に、コードＹに従い実行手段１１３が生成するイベント、すなわちスクリプトの実行を示すイベントが含まれる。また、監視対象のイベントとしては、例えば、ステップＳ１０６において受信した文書データに従うツリーデータの生成の完了、ユーザによりＷｅｂブラウザに対し所定の操作（入力項目の変更、ウィンドウサイズの変更など）が行われたこと、Ｗｅｂブラウザによる外部装置とのデータ通信の完了、過去のスクリプトＸの実行（ステップＳ１０９）によって変更された枝（要素）が他のスクリプトの実行（ステップＳ１１０）によってさらに変更されたこと等の様々なイベントが採用され得る。
【００７４】
ステップＳ９０１において検出手段１１５により所定のイベントの発生が検出されると（ステップＳ９０１；「Ｙｅｓ」）、判定手段１１６はその時点で生成手段１１４により生成されているツリーデータが示すＤＯＭツリーに所定の条件を満たす枝（または枝群）が含まれるか否かを判定する（ステップＳ９０２）。ステップＳ９０２において判定手段１１６が判定に用いる所定の条件は、規則データ（図１１）のフィールド［変更規則］の、例えばサブフィールド［条件］に格納されるデータが示す条件である。
【００７５】
ステップＳ９０２において判定手段１１６により所定の条件を満たす枝（または枝群）がＤＯＭツリー内にないと判定された場合（ステップＳ９０２；「Ｎｏ」）、端末装置１１は処理をステップＳ９０１に戻す。一方、ステップＳ９０２において判定手段１１６により所定の条件を満たす枝（または枝群）がＤＯＭツリー内にあると判定された場合（ステップＳ９０２；「Ｙｅｓ」）、変更手段１１７は当該所定の条件に応じた所定の規則に従い、当該所定の条件を満たす枝（または枝群）を変更する（ステップＳ９０３）。ステップＳ９０３において変更手段１１７が変更に用いる所定の規則は、規則データ（図１１）のフィールド［変更規則］の、例えばサブフィールド［変換コード］に格納されるデータが示す規則である。
【００７６】
図１９は、ステップＳ９０１〜Ｓ９０３の処理を端末装置１１に指示するスクリプト、すなわち、スクリプトＸ（またはスクリプトＸに従い端末装置１１が取得したスクリプト）の一部を例示した図である。図１９に例示のスクリプトは、「＜ｌｉ＞タグの枝の下に「＝」を含むテキストの枝がある」という所定の条件を満たす場合、当該テキストの枝を、「「＝」の左側のテキストの枝と、「＝」の右側のテキストの枝と、それらの枝を下層に持つ２個の＜ｓｐａｎ＞タグの枝とを含む枝群に置換する」という所定の規則に従い変更することを命じるスクリプトである。
【００７７】
図２０は、図１３に例示のＤＯＭツリーが、図１９に例示のスクリプトに従い変更された後のＤＯＭツリーを示した図である。また、図２１は、図２０に示したＤＯＭツリーに従い表示されるＷｅｂページを示した図である。すなわち、スクリプトＸに従う処理により、図１４に例示のＷｅｂページの表示内容が、図２１に例示の表示内容に変更される。
【００７８】
再び図８に戻り、Ｗｅｂページ表示システム１の処理のシーケンスの説明を続ける。ステップＳ１１０において、端末装置１１の実行手段１１３は端末装置１１が取得した文書データに含まれるスクリプト（スクリプトＸ以外）や、当該スクリプトに従い取得されたスクリプト（例えば、図１７に例示のスクリプト）を実行する。ステップＳ１１０において、コードＹを含むスクリプトが実行された場合、実行手段１１３はコードＹに従いスクリプトに従った処理の実行を示すイベントを発生する。実行手段１１３により発生されたイベントは、図１８のステップＳ９０１において検出手段１１５により検出され、当該イベントの検出をトリガとして判定手段１１６によるステップＳ９０２の判定および変更手段１１７によるＳ９０３の変更が実行される。このため、スクリプトに従いＤＯＭツリーに変更が加えられた場合、速やかに、かつ確実に、変更後のＤＯＭツリーに対し、スクリプトＸに従う変更が行われることになる。
【００７９】
端末装置１１の表示指示手段１１８は、生成手段１１４により生成されたツリーデータに従い、Ｗｅｂページを示す画像データを生成し、当該画像データが示す画像の表示をタッチディスプレイ１１０４に対し指示する（ステップＳ１１１）。また、表示指示手段１１８は、スクリプト（スクリプトＸを含む）の実行やユーザのＷｅｂページにおける操作等に伴いツリーデータに変更が生じると、変更後のツリーデータに従い、Ｗｅｂページを示す画像データを生成し、当該画像データが示す画像の表示をタッチディスプレイ１１０４に対し指示する（ステップＳ１１１）。タッチディスプレイ１１０４は、表示指示手段１１８の指示に従い、Ｗｅｂページを表示する。
【００８０】
上述したＷｅｂページ表示システム１によれば、Ｗｅｂページのデザイナは、規則データ（図１１）に例示のデータを準備することにより、Ｗｅｂページに対し、所定の規則に従う変更を容易に指示することができる。
【００８１】
なお、上述した実施形態の説明においては、スクリプトに従いＷｅｂページに表示される要素の内容がスクリプトに記述されている例を図９や図１６に示したが、これは説明の便宜のためであって、Ｗｅｂページ表示システム１が扱うスクリプトには、当該スクリプトに従いＷｅｂページに表示される要素の内容が直接記述されている必要はない。なぜなら、ステップＳ９０３におけるツリーデータの変更は、スクリプトの記述内容には基づかず、ステップＳ１０７において生成されるツリーデータの内容に基づいて行われるためである。従って、Ｗｅｂページの表示指示データに含まれるスクリプトや、表示指示データに従い取得されるスクリプトの挙動がスクリプトの記述内容からは不明な場合であっても、結果として表示されるＷｅｂページに対し、所定の規則に従った変更を加えることが可能である点が、本発明により得られる特段の効果の一つである。
【００８２】
［変形例］
上述した実施形態は本発明の一具体例であって、本発明の技術的思想の範囲内で様々に変形することができる。以下にそれらの変形の例を示す。なお、上述した実施形態及び以下の変形例を適宜組み合わせてもよい。
【００８３】
［変形例１］
上述の実施形態においては、Ｗｅｂページの文書データに対するスクリプトＸの追加はプロキシサーバ装置１２において行われる。これに代えて、Ｗｅｂサーバ装置１３において文書データに対するスクリプトＸの追加が行われる構成が採用されてもよい。この変形例において、Ｗｅｂサーバ装置１３は端末装置１１から文書データの送信を要求する要求データを受信した後に、要求された文書データに対しスクリプトＸを追加する処理を行ってもよいし、要求データに応じて、予めスクリプトＸを追加しておいた文書データを端末装置１１に送信してもよい。
【００８４】
［変形例２］
上述の実施形態においては、スクリプトＸはＷｅｂページの文書データに追加された状態で端末装置１１に送信される。これに代えて、端末装置１１が文書データとは別に、スクリプトＸを取得する構成が採用されてもよい。この変形例において、例えば、プロキシサーバ装置１２は文書データに対するスクリプトＸの追加（図８、ステップＳ１０５）に代えて、スクリプトＸの取得を指示するスクリプト（以下、「スクリプトＺ」という）を文書データに追加する。端末装置１１は、取得した文書データに含まれるスクリプトＺを実行し（図８、ステップＳ１１０）、Ｗｅｂサーバ装置１３からスクリプトＸを取得（図８、ステップＳ１０８）した後、スクリプトＸを実行する（図８、ステップＳ１０９）。
【００８５】
また、スクリプトＺに、端末装置１１の属性または端末装置１１のユーザの属性を示す属性データをＷｅｂサーバ装置１３に送信することを指示するコードを含ませる構成が採用されてもよい。ここで、端末装置１１の属性とは、例えば、端末装置１１の機種、ディスプレイの解像度、現在の通信状態、現在位置、端末装置１１で実行されているＷｅｂブラウザの種別等である。また、端末装置１１のユーザの属性とは、例えば、ユーザの性別、年齢、趣味等である。この構成によれば、端末装置１１はスクリプトＺに従い、Ｗｅｂサーバ装置１３に対しスクリプトＸの送信を要求する要求データとともに、属性データを送信する。Ｗｅｂサーバ装置１３は、様々な属性の端末装置またはユーザに応じた複数の異なる規則データを予め取得しておき、端末装置１１から受信した要求データと共に送信されてくる属性データに応じた規則データを含むスクリプトＸを端末装置１１に送信する。その結果、端末装置１１において表示されるＷｅｂページに、端末装置１１や端末装置１１のユーザの属性に応じた変更が行われることになる。
【００８６】
［変形例３］
上述の実施形態においては、端末装置１１はツリーデータの変更のための処理（図１８、ステップＳ９０１〜Ｓ９０３）を、Ｗｅｂページの文書データの取得に伴い取得したスクリプトＸに従い実行する。これに代えて、端末装置１１が予めツリーデータの変更のための処理を指示するプログラムを取得しておき、Ｗｅｂページの表示において当該プログラムに従いツリーデータの変更のための処理を行う構成が採用されてもよい。この変形例において、ツリーデータの変更のための処理を指示するプログラムは、例えば、端末装置１１で実行されるＷｅｂブラウザに組み込まれた形で提供されてもよいし、Ｗｅｂブラウザの機能を拡張するアドオンプログラムとして提供されてもよい。
【００８７】
［変形例４］
上述の実施形態においては、所定の条件を満たすスクリプトに対しコードＹが追加される。これに代えて、全てのスクリプトに対しコードＹが追加される構成が採用されてもよい。
【００８８】
［変形例５］
上述の実施形態においては、所定の条件を満たすスクリプトに対しコードＹが追加される。これに代えて、いずれのスクリプトに対してもコードＹの追加が行われない構成が採用されてもよい。この変形例によれば、図１８のステップＳ９０２〜Ｓ９０３の処理はスクリプトの実行のタイミングでは必ずしも実行されなくなる。ただし、規則データ（図１１）のフィールド［イベント種別］にコードＹにより発生するイベント以外のイベント（ツリー変更イベント等）が適切に設定されれば、十分な頻度でステップＳ９０２〜Ｓ９０３の処理が実行され、Ｗｅｂページに対し迅速な変更が行われる。
【００８９】
［変形例８］
上述の実施形態においては、Ｗｅｂページの文書データに含まれる所定の条件を満たすスクリプトに対するコードＹの追加はプロキシサーバ装置１２において行われる。これに代えて、Ｗｅｂサーバ装置１３において文書データに対するコードＹの追加が行われる構成が採用されてもよい。この変形例において、Ｗｅｂサーバ装置１３は端末装置１１から文書データの送信を要求する要求データを受信した後に、要求された文書データに対しコードＹを追加する処理を行ってもよいし、要求データに応じて、予めコードＹを追加しておいた文書データを端末装置１１に送信してもよい。
【００９０】
［変形例９］
上述の実施形態においては、端末装置１１、プロキシサーバ装置１２、Ｗｅｂサーバ装置１３は各々、コンピュータがプログラムに従う処理を実行することにより実現される。これに代えて、端末装置１１、プロキシサーバ装置１２、Ｗｅｂサーバ装置１３の１以上が、集積回路等により図３、図５、図７に模式的に示した機能を実現する専用装置として構成されてもよい。
【００９１】
［変形例１０］
上述の実施形態においては、文書データ内にスクリプトの取得元のＵＲＩが記述されている場合、端末装置１１が文書データを取得（図８、ステップＳ１０６）した後、当該ＵＲＩからスクリプトを取得する（図８、ステップＳ１０８）。これに代えて、プロキシサーバ装置１２がスクリプトの取得を行う構成が採用されてもよい。
【００９２】
この変形例においては、端末装置１１の要求に応じてＷｅｂサーバ装置１３から文書データが端末装置１１に送信される際、プロキシサーバ装置１２が当該文書データに記述されているＵＲＩに従い、Ｗｅｂサーバ装置１３からスクリプトを取得し、当該文書データにスクリプトの追加を行う。その際、追加手段１２３により、必要に応じて当該スクリプトに対するコードＹの追加（図８、ステップＳ１０４）が行われる。
【００９３】
［変形例１１］
上述の実施形態においては、規則データ（図１１）はスクリプトＸに含まれる。これに代えて、スクリプトＸは規則データを含まず、端末装置１１がスクリプトＸとは別に規則データを取得する構成が採用されてもよい。
【００９４】
［変形例１２］
上述の実施形態においては、スクリプトに追加されるコードＹが複数の場合、それらのコードＹは互いに区別されない。従って、コードＹの実行に伴い生成されるイベントは、いずれのスクリプトの実行を示すイベントか区別されない。これに代えて、コードＹが追加された場所、すなわち実行されるスクリプトまたは当該スクリプトに含まれるコードに応じて異なるイベントが生成されるように構成されてもよい。例えば、プロキシサーバ装置１２がステップＳ１０４（図８）において、識別子を引数として設定したコードＹをスクリプトに追加することにより、コードＹの実行に伴い識別子を伴うイベントの生成が行われるように構成されてもよい。この構成の変形例においては、スクリプトの実行に伴い生成されるイベントに伴う識別子によって、実行されるスクリプトまたは当該スクリプトに含まれる実行されるコードが識別可能となる。従って、例えば規則データ（図１１）のフィールド［イベント種別］に、特定の識別子を伴うコードＹの実行を示すイベントを指定するデータを格納することにより、コードＹが追加された場所に応じて異なる規則に従いツリーデータの変更が行われることになる。
【００９５】
［変形例１３］
上述の実施形態または変形例において、コンピュータが端末装置１１、プロキシサーバ装置１２、またはＷｅｂサーバ装置１３を実現するために実行するプログラムは、ネットワークを介してコンピュータにダウンロードされる形で提供されてもよいし、ＣＤ−ＲＯＭ、フラッシュメモリ等のコンピュータ読取可能な記録媒体に持続的に記録された形で提供され、当該記録媒体からコンピュータが読み取る形で利用されてもよい。
【符号の説明】
【００９６】
１…Ｗｅｂページ表示システム、９…ネットワーク、１１…端末装置、１２…プロキシサーバ装置、１３…Ｗｅｂサーバ装置、１１１…送信手段、１１２…受信手段、１１３…実行手段、１１４…生成手段、１１５…検出手段、１１６…判定手段、１１７…変更手段、１１８…表示指示手段、１２１…受信手段、１２２…送信手段、１２３…追加手段、１３１…受信手段、１３２…取得手段、１３３…送信手段、１１０１…メモリ、１１０２…プロセッサ、１１０３…通信ＩＦ、１１０４…タッチディスプレイ、１２０１…メモリ、１２０２…プロセッサ、１２０３…通信ＩＦ、１３０１…メモリ、１３０２…プロセッサ、１３０３…通信ＩＦ
【要約】
プロキシサーバ装置１２は、Ｗｅｂサーバ装置１３から端末装置１１に送信されるＷｅｂページの文書データ内のスクリプトに、スクリプトの実行のイベント生成を指示するコードＹを追加し、また、当該文書データに従い表示されるＷｅｂページのＤＯＭツリーを所定の規則に従い変更するスクリプトＸを当該文書データに追加した後、当該文書データを端末装置１１に送信する。端末装置１１は、受信した文書データに含まれるスクリプトの実行に伴い、コードＹに従いイベントを生成する。端末装置１１は、当該イベントをトリガに、スクリプトＸに従いＤＯＭツリーを所定の規則に従い変更する。端末装置１１は変更したＤＯＭツリーに従い、Ｗｅｂページを表示する。【図１】
0005832056.tif 000002
【図２】
0005832056.tif 000003
【図３】
0005832056.tif 000004
【図４】
0005832056.tif 000005
【図５】
0005832056.tif 000006
【図６】
0005832056.tif 000007
【図７】
0005832056.tif 000008
【図８】
0005832056.tif 000009
【図９】
0005832056.tif 000010
【図１０】
0005832056.tif 000011
【図１１】
0005832056.tif 000012
【図１２】
0005832056.tif 000013
【図１３】
0005832056.tif 000014
【図１４】
0005832056.tif 000015
【図１５】
0005832056.tif 000016
【図１６】
0005832056.tif 000017
【図１７】
0005832056.tif 000018
【図１８】
0005832056.tif 000019
【図１９】
0005832056.tif 000020
【図２０】
0005832056.tif 000021
【図２１】
0005832056.tif 000022