説明

Webページレイアウト補正システム

【課題】クライアントの Webブラウザでレイアウトが正しく表示されるように Webページの開発者が手動で HTMLソースを変更している。
【解決手段】クライアントが使用する Webブラウザと画面レイアウトが正しく表示される Webブラウザ2で HTMLソースを表示した際の表示領域のビットマップ画像から、各 HTML要素の表示位置と、表示サイズと、表示文字サイズを取得する。取得した値を用いて、クライアントの Webブラウザ1で HTMLソースを表示した際の各 HTML要素の表示位置と、表示サイズと、表示文字サイズが、 Webブラウザ2で HTMLソースを表示した際のそれぞれと同じになるように HTMLソースを自動的に補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、Webページレイアウト補正システム、特に、クライアントが使用している Webブラウザの種類によって Webページの画面レイアウトが崩れることがないように、HTML等の Web記述言語で記述された HTMLソース等を補正するシステムに関する。
【背景技術】
【0002】
この種の補正に係わる従来技術として、「Webアプリケーション開発支援装置及び開発支援方法」(特許文献1参照)を挙げることができる。この技術は、クライアントが使用する Webブラウザの種類が固定の場合におけるものであるが、Webアプリケーションの実行結果として動的に生成される HTMLソースの内の Webページの画面レイアウトに関する部分と、Webデザイナーにより作成されたデザイン HTMLの内の動的レイアウト部分とを比較し、異なる部分がある場合は、その HTMLソースを自動的に強調表示することで、画面レイアウトが正しく表示されるように HTMLソースを修正する作業を支援するものである。
【0003】
また、Webコンテンツを格納している共通データベースに記述されたWWWページの HTMLソースを端末機器のWWW記述言語に応じて変換する「異種端末のアクセスを許容するウェブサイト及びウェブサイトに異種端末のアクセスを許容する方法」(例えば、特許文献2参照)も公知である。
【0004】
【特許文献1】特開2005-122504号公報(第5頁、図1)
【特許文献2】特開2001-273188号公報(第3頁−第4頁、図1)
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献2記載の技術では、画面レイアウトを補正するための修正箇所を自動的に表示するが、補正作業自体は手動で行うため、Webページの画面レイアウトに関する部分の HTMLソースを補正する作業に手間がかかるという第1の問題点がある。
【0006】
更に、クライアントが使用するWebブラウザと特許文献1のシステムが使用する Webブラウザが異なる場合に、HTMLソースを補正した後でも Webページの画面レイアウトが設計時とは異なってしまう可能性があるという第2の問題点がある。その理由は、HTMLソースを表示する Webブラウザが異なれば、 Webブラウザ毎の HTMLソースの表示方法の違いのために画面レイアウトが一致しない場合があるが、特許文献1のシステムは、 HTMLソースの画面レイアウトに関する部分が動的に生成された後と設計時で同じになるように補正するためのシステムであって、 Webブラウザ毎の HTMLソースの表示方法の違いを吸収する機能を持たないためである。
【0007】
また、特許文献2記載の技術では、端末機器の WWW記述言語の違いに対応するものであって、Webページレイアウトに対するものではなく、また違いの部分的な補正ではなく変換するため処理量が多くなるという問題点がある。
【0008】
そこで、本発明の目的は、Webページの HTMLソースを補正する作業を Webサーバ上で自動的に行う Webページレイアウト補正システムを提供することにある。ここでいう補正とは、ある一種類の Webブラウザで画面レイアウトが正しく表示される HTMLソースを開発者が作成しておけば、クライアントが画面レイアウトを正しく表示する Webブラウザとは異なる種類の Webブラウザで HTMLソースを表示した場合でも、画面レイアウトが正しく表示できるように HTMLソースを変更することを意味する。
【課題を解決するための手段】
【0009】
第1の本発明の Webページレイアウト補正システムは、クライアントと同じ OSを有する Webサーバが接続され、該 Webサーバは、クライアントが使用する Webブラウザと同じ種類の Webブラウザ(Webブラウザ1)で 要求された Webページを表示した際の表示領域のビットマップ画像から、 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、Webページの画面レイアウトが正しく表示される Webブラウザ(Webブラウザ2)で Webページを表示した際の表示領域のビットマップ画像から、 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、2つの取得した表示位置,表示サイズおよび表示文字サイズをそれぞれ比較する手段と、2つの取得した表示位置,表示サイズまたは表示文字サイズの何れかが異なる場合には、同じになるように Webページの HTMLソースを補正する手段を有することを特徴とする。
【0010】
第2の本発明の Webページレイアウト補正システムは、Webサーバとそれぞれが異なる OSを有するサーバとを接続した Webページレイアウト補正システムであって、 Webサーバは;クライアントが使用する Webブラウザと同じ種類の Webブラウザ(Webブラウザ1)で要求された Webページを表示した際の表示領域のビットマップ画像から、 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、Webページの画面レイアウトが正しく表示される Webブラウザ(Webブラウザ2)で Webページを表示した際の表示領域のビットマップ画像から、 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、2つの取得した表示位置,表示サイズおよび表示文字サイズをそれぞれ比較する手段と、2つの取得した表示位置,表示サイズまたは表示文字サイズの何れかが異なる場合には、同じになるように前記 Webページの HTMLソースを補正する手段を有し、サーバは;クライアントの OSが Webサーバの OSと異なる場合に、 Webサーバからクライアントが使用する Webブラウザの種類と Webページの HTMLソースの送信を受けて、 Webブラウザ1で Webページを表示した際の表示領域のビットマップ画像を取得し Webサーバへ返信することを特徴とする。
【0011】
要するに、本発明の Webページレイアウト補正システムは、クライアントが使用する Webブラウザと画面レイアウトが正しく表示される Webブラウザで HTMLソースを表示した際の表示領域のビットマップ画像から、各 HTML要素の表示位置と、表示サイズと、表示文字サイズを取得する手段を有する。また、取得した値を用いて正しい画面レイアウトで表示できる Webブラウザ以外の Webブラウザで HTMLソースを表示した際の各 HTML要素の表示位置と、表示サイズと、表示文字サイズが、正しい画面レイアウトで表示できる Webブラウザで HTMLソースを表示した際の各 HTML要素の表示位置と、表示サイズと、表示文字サイズと同じになるように HTMLソースを補正する手段を有する。これらによって本発明の目的を達成することができる。
【0012】
詳しくは、Webサーバは、Webページの HTMLソースを保存する HTMLソース保存メモリと、Webブラウザ1およびWebブラウザ2を含む Webブラウザ群と、クライアントの Webブラウザから Webページの表示要求を受けると、クライアントの OSや使用している Webブラウザの種類などの情報を取得するクライアント情報取得手段と、情報により、当該 Webブラウザ1および Webブラウザ2により HTMLソースを表示し、その状態のビットマップ画像から HTML要素の表示位置,表示サイズおよび表示文字サイズを取得し解析する画像解析手段と、解析の結果により HTML要素の表示位置を補正する処理を行う表示位置補正手段と、解析の結果により HTML要素の表示サイズを補正する処理を行う表示サイズ補正手段と、解析の結果により HTML要素の表示文字サイズを補正する処理を行う表示文字サイズ補正手段と、補正処理中に作成した HTMLソースを保存する処理中 HTMLソース保存メモリを有することを特徴とする。
【0013】
更に、画像解析手段は、 HTMLソースを Webブラウザ1および前記 Webブラウザ2に表示し、それぞれの表示領域のビットマップ画像を取得する画面画像取得手段と、各ビットマップ画像からそれぞれの HTML要素の表示位置を取得する画像位置取得手段と、各ビットマップ画像からそれぞれの HTML要素の表示サイズを取得する画像サイズ取得手段と、各ビットマップ画像からそれぞれの HTML要素下の文字列が全て表示されているか確認する画面文字数確認手段と、各ビットマップ画像に異なる部分がないか調べる画像比較手段を有することを特徴とする。
【0014】
また、表示位置補正手段は、特定の HTML要素を黒色、その他の HTML要素を白色で表示されるように HTMLソースを変更する HTMLソース要素強調表示手段と、強調表示された HTML要素の位置指定方法を絶対座標での指定に変更する HTMLソース位置指定手段と、 Webブラウザ1と、 Webブラウザ2で前記指定変更された HTMLソースを表示したときの HTML要素の表示位置の差を計算する表示位置差計算手段と、 HTML要素の指定位置を表示位置差計算手段により算出した値で修正する表示位置修正手段を有することを特徴とする。
【0015】
また、表示サイズ補正手段は、 HTML要素のサイズ指定方法をピクセル単位での指定に変更する HTMLソースサイズ指定手段と、 Webブラウザ1と、 Webブラウザ2で HTMLソースを表示したときの HTML要素の表示サイズの差を計算する表示サイズ差計算手段と、 HTML要素の指定サイズを表示サイズ差計算手段により算出した値で修正する表示サイズ修正手段を有することを特徴とする。
【0016】
また、表示文字サイズ補正手段は、特定の HTML要素内の文字列が全て表示されるか確認するために文字列の直後に黒色で表示される文字を追加し、他の文字列や HTML要素は白色に表示されるように HTMLソースを変更する HTMLソース文字強調表示手段と、変更された HTMLソースを Webブラウザ1で表示し、追加した黒色の文字が表示されるまで、 HTML要素の指定文字サイズを小さく変更した HTMLソースを作成していく表示文字サイズ修正手段を有することを特徴とする。
【0017】
また、本発明の Webページレイアウト補正システムは、 Webページの URLと、 Webブラウザ2の種類の対応を保持するテーブルと、補正前後のWebページの URLと、 Webブラウザ2の種類の対応を保持するテーブルを備え、クライアントの Webブラウザから Webページの表示要求を受けると、画像解析手段は補正の前後に応じて前記テーブルを使い分け、該当する前記 Webブラウザ2の種類を抽出して使用することを特徴とする。
【発明の効果】
【0018】
本発明の第1の効果は、HTMLソースの補正を手動ではなく自動的に行うため Webページの作成効率を上げることができるということである。
【0019】
本発明の第2の効果は、クライアントが Webサーバに要求を送った時点で Webサーバはクライントが使用している Webブラウザを取得し、その Webブラウザでレイアウトが正しく表示できるように HTMLソースを修正するため、如何なる種類の Webブラウザを使用しているクライアントであっても、画面レイアウトが崩れていない Webページを閲覧できるということである。
【0020】
この結果、Webページの開発者が1種類の Webブラウザで画面レイアウトが正しく表示できるように HTMLソースを作成しておけば、クライアントが使用している Webブラウザでも、画面レイアウトが正しく表示できる Webブラウザと同じ見た目になるように HTMLソースを自動的に補正することができるので、Webページを開発する手間を軽減することができるようになる。
【発明を実施するための最良の形態】
【0021】
先ず、図5〜図7に示す模式図を用いて本発明の具体的なイメージを与える。
【0022】
図5は HTML要素の位置を補正する処理を示す。クライアントが使用している Webブラウザ1で Webページを表示したときと、正しい画面レイアウト(以下、「レイアウト」と記す)で表示できる Webブラウザ2で同じ Webページを表示したときとで、レイアウトが異なる HTMLソース11があるとする(図5の手順1)。この場合、選択した HTML要素のみが黒く表示されるように HTMLソース11を変更した HTMLソース12を作成する。HTMLソース12を Webブラウザ2で表示し、選択した HTML要素の表示位置(X,Y)を取得する(図5の手順2)。
【0023】
次に、選択した HTML要素の絶対座標として、取得した表示位置(X,Y)を指定した HTMLソース13を HTMLソース12を変更して作成する。絶対座標とは、 Webブラウザの表示サイズと種類によって変更されない絶対的な座標値をいう。そして、HTMLソース13を表示した Webブラウザ1と、HTMLソース12を表示した Webブラウザ2で選択した HTML要素が同じ位置に表示されているか確認する(図5の手順3)。
【0024】
同じ位置に表示されない場合は、選択した HTML要素の Webブラウザ1における表示位置(X',Y')を取得し、選択した HTML要素の位置を補正するようにHTMLソース13を変更した HTMLソース14を作成する(図5の手順4)。補正は、X'に(X-X')、Y'に(Y-Y')を加えることにより行なう。以後、 HTMLソース14を使用すれば、 Webブラウザ1によっても、 Webブラウザ2と同様に、 HTML要素の位置が正しい Webページを表示できるようになる。
【0025】
図6は HTML要素の表示サイズを補正する処理を示す。HTMLソース13もしくは HTMLソース14を表示した Webブラウザ2での選択した HTML要素の表示サイズをピクセル単位で取得する(図6の手順5)。取得した表示サイズを選択した HTML要素のサイズとしてピクセル単位で指定したHTMLソース15をHTMLソース13もしくは HTMLソース14を変更して作成する。HTMLソース15を表示した Webブラウザ1と、HTMLソース13もしくは HTMLソース14を表示した Webブラウザ2で選択した HTML要素が同じサイズで表示されているか確認する(図6の手順6)。同じサイズで表示されない場合は、選択したHTML要素の Webブラウザ1における表示サイズを取得し、選択した HTML要素のサイズを補正するようにHTMLソース15を変更した HTMLソース16を作成する(図6の手順7)。以後、 HTMLソース16を使用すれば、 Webブラウザ1によっても、 Webブラウザ2と同様に、 HTML要素の位置が正しく、かつ HTML要素の表示サイズも正しい Webページを表示できるようになる。
【0026】
図7は表示文字サイズを補正する処理を示す。文字列の直後に黒色で表示される文字を追加し、他の要素を白色で表示されるように HTMLソース16を変更した HTMLソース17を作成する(図7の手順8)。HTMLソース17を Webブラウザ1で表示し、追加した黒色の文字が表示される(図7の手順10)まで、 HTMLソース17の文字サイズを小さく変更した HTMLソース18,19を作成していく(図7の手順9)。以後、 HTMLソース19を使用すれば、 Webブラウザ1によっても、 Webブラウザ2と同様に、 HTML要素の位置が正しく、かつ HTML要素の表示サイズも正しく、かつ表示文字サイズも正しい Webページを表示できるようになる。
【0027】
図1は、第1の本発明による Webページレイアウト補正システムの実施の形態を示すブロック図である。この Webページレイアウト補正システムでは、ユーザが使用している PCであるクライアント101と、本発明を実現する Webサーバ102が WANを介して接続されている。
【0028】
クライアント101は Webブラウザ10を有し、Webブラウザ10は、Webページを表示しようとするとき、 WAN経由で Webサーバ102に Webページを要求(Request)する。Webサーバ102は、クライアント情報取得手段231を有し、クライアント情報取得手段231はユーザエージェントなどを用いて、クライアントの OSや使用しているWebブラウザの種類などの情報を取得する。
【0029】
Webサーバ102は Webブラウザ群3を保有している。Webブラウザ群3はクライアント101が使用している Webブラウザ10と同じ種類の Webブラウザ1や、Webページのレイアウトが正しく表示される Webブラウザ2を含む。Webブラウザ群3には随時様々な種類の Webブラウザを追加することが可能で、Webサーバ102は Webブラウザ群3の Webブラウザで Webページを表示したときに、そのレイアウトが崩れないように HTMLソースを補正することができる。
【0030】
具体的には、Webサーバ102は、HTML要素の表示位置を補正する処理を行う表示位置補正手段200、表示サイズを補正する処理を行う表示サイズ補正手段210、表示文字サイズを補正する処理を行う表示文字サイズ補正手段220、および HTMLソースをWebブラウザに表示した状態のビットマップ画像から HTML要素の表示位置,表示サイズ,表示文字サイズを取得し解析する画像解析手段240を有する。
【0031】
また、Webページの URLと Webページのレイアウトが正しく表示される Webブラウザの種類との対応表である Webページ_ブラウザ対応テーブル131、補正した後の Webページと補正対象となった Webブラウザの種類との対応表である Webページ_補正後ブラウザ対応テーブル132、HTMLソースを保存する HTMLソース保存メモリ141、および補正処理中に作成した HTMLソースを保存する処理中 HTMLソース保存メモリ142を有する。
【0032】
次に、Webサーバ102の詳細な構成を説明する。表示位置補正手段200は、特定の HTML要素を黒色、その他の HTML要素を白色で表示されるように HTMLソースを変更する HTMLソース要素強調表示手段201と、 HTML要素の位置指定方法を絶対座標での指定に変更する HTMLソース位置指定手段202と、 Webブラウザ1と Webブラウザ2で HTMLソースを表示したときの HTML要素の表示位置の差を計算する表示位置差計算手段203と、 HTML要素の指定位置を表示位置差計算手段203により算出した値で修正する表示位置修正手段204とで構成される。
【0033】
表示サイズ補正手段210は、HTML要素のサイズ指定方法をピクセル単位での指定に変更する HTMLソースサイズ指定手段211と、レイアウトが正しく表示できる Webブラウザと、それ以外の Webブラウザで HTMLソースを表示したときの HTML要素の表示サイズの差を計算する表示サイズ差計算手段212と、HTML要素の指定サイズを表示サイズ差計算手段212により算出した値で修正する表示サイズ修正手段213とで構成される。
【0034】
表示文字サイズ補正手段220は、特定の HTML要素内の文字列が全て表示されるか確認するために文字列の直後に黒色で表示される文字を追加し、他の文字列や HTML要素は白色に表示されるように HTMLソースを変更する HTMLソース文字強調表示手段221と、HTML要素の指定文字サイズを修正する表示文字サイズ修正手段222とで構成される。
【0035】
画像解析手段240は、クライアント10が Webページを要求したときに、 HTMLソースを Webブラウザに表示し、Webブラウザの表示領域のビットマップ画像(代表参照番号を20とする)を取得する画面画像取得手段241と、ビットマップ画像20から HTML要素の表示位置を取得する画像位置取得手段242と、ビットマップ画像20から HTML要素の表示サイズを取得する画像サイズ取得手段243と、ビットマップ画像から HTML要素下の文字列が全て表示されているか確認する画面文字数確認手段244と、2つのビットマップ画像に異なる部分がないか調べる画像比較手段245とで構成される。
【0036】
図2は、Webページ_ブラウザ対応テーブル131の内容を例示する。この対応表は、補正前の WebページのURLと、そのWebページのレイアウトを正しく表示することができる Webブラウザ2の種類とを列に示す。Webページの URLは、HTMLソース保存メモリ141の各 HTMLソースの位置を指し示す。ここでは、 Webブラウザ2の種類として、A,Bの2種類を示している。WebブラウザA,Bそれぞれは2つの URLの Webページを表示することができる。
【0037】
図3は、Webページ_補正後ブラウザ対応テーブル132の内容を例示する。この対応表は、補正前の Webページの URLと、補正後の Webページの URLと、レイアウトを正しく表示することができる Webブラウザの種類とを列に示す。Webページの URLは、 HTMLソース保存メモリ141の各 HTMLソースの位置を指し示す。
【0038】
次に、以上のように構成された本発明のWebページレイアウト補正システムの動作について、図4のフローチャートを参照して詳細に説明する。
【0039】
先ず、クライアント101が使用している Webブラウザ10と同じ種類の Webブラウザ1と、Webページのレイアウトが正しく表示される Webブラウザ2で Webページを表示した場合に、2つの画面のレイアウトが一致するか確認する処理を説明する。Webページの表示のためには、HTMLソース保存メモリ141が保存している HTMLソースが使用される。
【0040】
Webサーバ102はクライアント101の Webブラウザ10からの要求を受け取ると、クライアント情報取得手段231を用いてクライアント101が使用している Webブラウザの種類を取得する(図4のステップ500)。
【0041】
そして、クライアント101が使用している Webブラウザ10と同じの種類の Webブラウザ1を Webブラウザ群3から抽出して、Webブラウザ1で Webページを表示し、そこから画面画像取得手段241を用いてビットマップ画像(図5の21)を取得する。同様に、 Webブラウザ群3から抽出した Webブラウザ2の内の Webページ_ブラウザ対応テーブル131から取得した種類の Webブラウザ2で Webページを表示し、画面画像取得手段241を用いてビットマップ画像(図5の22)を取得する(ステップ501)。図2の例では、 Webページの URLに応じて、 Webブラウザ2の内の WebブラウザA,B等で当該 Webページを表示する。
【0042】
画像比較手段245はビットマップ画像21とビットマップ画像22を比較し、全ピクセルの色に差がなければ(ステップ502でNO)、クライアント101の Webブラウザ10に補正前の Webページの URLを返して終了する(ステップ520)。
【0043】
一方、Webブラウザ1と Webブラウザ2で各 HTML要素の表示位置が異なる場合(ステップ502でYES)、一致するように HTMLソースを補正する処理を説明する。
【0044】
HTMLソース要素強調表示手段201は HTMLソース内の HTML要素を最初から一つずつ選択し、強調表示する。ここでいう強調表示とは、補正前の HTMLソース(図5の11)を変更して、選択した HTML要素の背景色,前景色,ボーダーを全て黒に指定し、他の HTML要素は白に指定した HTMLソース(図5の12)を作成することである。次に、画面画像取得手段241を用いて HTMLソース12を Webブラウザ2で表示したビットマップ画像(図5の23)を取得する。
【0045】
そして、画像位置取得手段242は、ビットマップ画像23の左上端から右下に順にピクセルをチェックしていき、初めて黒色のピクセルが存在した部分を選択した HTML要素の表示位置(図5の41)を取得する。HTMLソース位置指定手段202を用いて、 HTMLソース12を変更し、選択したHTML要素の絶対座標を表示位置41として指定した HTMLソース(図5の13)を作成する(ステップ503)。
【0046】
次に、画面画像取得手段241は、HTMLソース13を Webブラウザ1で表示したビットマップ画像(図5の24)を取得し、画像位置取得手段242は、ビットマップ画像24から選択した HTML要素の表示位置(図5の42)を取得する。表示位置41と表示位置42が異なる場合(ステップ504でNO)、表示位置差計算手段203を用いて、表示位置の差(表示位置41−表示位置42)を取得する。表示位置修正手段204は、選択した HTML要素の絶対座標を(表示位置42+(表示位置41−表示位置42))として指定するように HTMLソース13を変更した HTMLソース(図5の14)を作成する(ステップ505)。
【0047】
次に、Webブラウザ1とWebブラウザ2で各 HTML要素の表示サイズが一致するように HTMLソースを補正する処理を説明する。
【0048】
画像サイズ取得手段243は、ビットマップ画像23のピクセル中で、最も左に黒色のピクセルが存在した部分の X座標と、最も右に黒色のピクセルが存在した部分の X座標の差を幅とし、また最も上に黒色のピクセルが存在した部分の Y座標と、最も下に黒色のピクセルが存在した部分の Y座標の差を高さとして、選択した HTML要素の表示サイズ(図6の51)を取得する。 HTMLソースサイズ指定手段211を用いて、HTMLソース13もしくは HTMLソース14を変更し、選択した HTML要素のサイズを表示サイズ51のピクセル単位で指定した HTMLソース(図6の15)を作成する(ステップ506)。
【0049】
画面画像取得手段241は、 HTMLソース15を Webブラウザ1で表示したビットマップ画像25を取得し、画像サイズ取得手段243は選択した HTML要素の表示サイズ(図6の52)を取得する。表示サイズ51と表示サイズ52が異なる場合(ステップ507でNO)、表示サイズ差計算手段212を用いて、表示サイズの差(表示サイズ52−表示サイズ51)を取得する。表示サイズ修正手段213を用いて、選択した HTML要素のサイズを(表示サイズ52+(表示サイズ51−表示サイズ52))のピクセル単位で指定するように HTMLソース15を変更したHTMLソース(図6の16)を作成する(ステップ508)。
【0050】
次に、Webブラウザ1とWebブラウザ2で各 HTML要素内の表示文字列が一致するようにHTMLソースを補正する処理を説明する。選択した HTML要素の直下、もしくはインライン要素の下に文字列があるかどうか HTMLソース11を確認する(ステップ509)。
【0051】
文字列があった場合(ステップ509でNO)、HTMLソース文字強調表示手段221を用いて文字列の直後に黒く表示される文字を追加し(追加する文字は■とする)、他の要素は白く表示するように HTMLソース15もしくは HTMLソース16を変更した HTMLソース(図7の17)を作成する。画面画像取得手段241を用いて HTMLソース17を Webブラウザ1で表示したビットマップ画像(図7の26)を作成し、画面文字数確認手段244を用いてビットマップ画像26のピクセル中に黒色のピクセルが存在するかどうか確認する。黒色のピクセルが存在しなかった場合(ステップ510でNO)、表示文字サイズ修正手段222を用いて文字列の文字サイズを1つ小さい値に指定するように HTMLソース17を変更した HTMLソース18を作成する(ステップ511)。黒色のピクセルが存在するようになる(ステップ510でYES)まで、ステップ510とステップ511を繰り返す。
【0052】
次に、 Webブラウザ1とWeb2で表示されている文字数が同じか否かにより、HTMLソース11内の HTML要素全てが処理し終わったかを確認し(ステップ512)、処理し終わった場合(ステップ512でYES)は補正後の Webページの URLをクライアント101の使用している Webブラウザ10に返して終了する(ステップ521)。全ての HTML要素について処理し終わってない場合(ステップ512でNO)は、ステップ503へ戻り上記ステップ511までの処理を次の HTML要素について繰り返す。
【0053】
以上の各補正処理の過程において、処理中の HTMLソースは処理中 HTMLソース保存メモリ142に保存され、補正処理のために適宜に読み出されて使用される。そして、補正終了後の HTMLソースは HTMLソース保存メモリ141に保存され、その位置を示す URLが Webページ_補正後ブラウザ対応テーブル132に登録される。以後は、Webページ_補正後ブラウザ対応テーブル132を参照して得られる URLにより、HTMLソース保存メモリ141から HTMLソースを読み出して Webページを表示する。
【0054】
次に、第2の本発明のWebページレイアウト補正システムの実施の形態について説明する。
【0055】
図1に示したWebページレイアウト補正システムは、Webサーバが1つ、つまり OSが1種類であることを想定している。このような形態では、クライアントの OSと Webサーバの OSが異なると、クライアントと同じ Webブラウザを Webサーバにインストールすることができないため、 HTMLソースを補正できない場合がある。そこで、第2の発明では、複数種類の OSのサーバを Webサーバとは別に用意し、そのサーバ内に複数種類の Webブラウザをインストールしておく。 Webサーバがこのサーバを操作するための手段を両サーバが持つことで、クライアントの OSと Webサーバの OSが異なる場合にも、HTMLソースを補正することができる。
【0056】
図8は、異なる OSを持つ複数のサーバ104等を LAN回線で Webサーバ103に繋げた、第2の発明を実施するための最良の形態を示す。以下に、第1の発明を実施するための最良の形態と異なる構成の部分について説明する。
【0057】
Webサーバ103は、図1におけるクライアント情報取得手段231に代わってクライアント情報取得手段232を有し、クライアント101から Webページの要求がきた時点で、クライアント情報取得手段232によりクライアント101の OSと Webブラウザの種類を取得する。また、Webサーバ103は Webブラウザとその Webブラウザを持つサーバの対応表である Webブラウザ_サーバ対応テーブル133を有する。
【0058】
また、Webサーバ103は、サーバ通信手段252を備えており、クライアント101の OSが Webサーバ103の OSと異なった場合に、 Webサーバ103はサーバ通信手段251を用いて、クライアント101と同じ OSを持つサーバ104に、クライアント101が要求している Webページの HTMLソース(図5の11)と、クライアント101が使用している Webブラウザの種類を送信する。このとき、 Webブラウザ_サーバ対応テーブル133を使用する。また、サーバ通信手段251により、クライアント101が使用している Webブラウザと同じ種類の Webブラウザ4で HTMLソース11を表示したときのビットマップ画像をサーバ104から受け取る。
【0059】
サーバ104はWebブラウザ群6を保有している。Webブラウザ群6には、サーバ104にインストールすることができる種類の Webブラウザが複数含まれる。また、サーバ104は Webサーバ通信手段351を備えている。サーバ104は Webサーバ通信手段351を用いて HTMLソースとクライアント101が使用している Webブラウザの種類を Webサーバ103から受信し、また、クライアント101が使用している Webブラウザと同じ種類の Webブラウザで HTMLソースを表示したときのビットマップ画像を Webサーバ103に送信する。なお、画面画像取得手段341は、第1の発明における面画像取得手段241と同機能である。
【0060】
図9はWebブラウザ_サーバ対応テーブル133の内容を例示する。この対応表は OSの種類と、Webブラウザの種類と、 Webブラウザを持つサーバを列に示す。
【0061】
次に、図4のフローチャートを部分的に参照して、第2の発明を実施の形態の動作について、第1の実施の形態と異なる部分を説明する。
【0062】
先ず、クライアント101が使用している Webブラウザ10と同じ種類の Webブラウザと、Webページのレイアウトが正しく表示される Webブラウザで Webページを表示した場合に、2つの画面のレイアウトが一致するか確認する処理を説明する。Webサーバ103はクライアント101の Webブラウザ10からの要求を受け取ると、クライアント情報取得手段232を用いてクライアント101の OSと、使用している Webブラウザの種類を取得する(図4のステップ500相当)。
【0063】
次に、Webブラウザ_サーバ対応テーブル133からクライアント101が使用している Webブラウザ10と同じ種類の Webブラウザ4を持つサーバ104を取得する。そして、サーバ通信手段251を用いて、クライアント101が使用している Webブラウザの種類と、クライアント101が要求している Webページの HTMLソースをサーバ104に送信する。サーバ104は Webサーバ通信手段351により Webサーバ103からWebブラウザの種類と HTMLソースを受信する。
【0064】
サーバ104は、Webブラウザ4で HTMLソースを表示し、画面画像取得手段341によりビットマップ画像31を取得すると、Webサーバ通信手段351を用いてビットマップ画像(参照番号を31とする)を Webサーバ103に送信する。Webサーバ103は、 Webページ_ブラウザ対応テーブル131から取得したレイアウトが正しく表示できる Webブラウザ2で Webページを表示し、画面画像取得手段241によりビットマップ画像32を取得する(ステップ501相当)。
【0065】
Webサーバ103は、画像比較手段245を用いてビットマップ画像31とビットマップ画像32を比較し、全ピクセルの色に差がなければクライアント101の使用している Webブラウザ10に補正前の Webページの URLを返して終了する(ステップ502,ステップ520相当)。
【0066】
次に、Webブラウザ4と Webブラウザ2で各 HTML要素の表示位置が一致するように HT
MLソースを補正する処理を説明する。
【0067】
Webサーバ103は、HTMLソース要素強調表示手段201を用いて HTMLソース内の HTML要素を最初から一つずつ選択し、強調表示する。ここでいう強調表示とは、補正前の HTMLソース11を変更して、選択したHTML要素の背景色,前景色,ボーダーを全て黒に指定し、他の HTML要素は白に指定した HTMLソース(図5の12)を作成することである。次に、画面画像取得手段241を用いて HTMLソース12をWebブラウザ2で表示したビットマップ画像(図5の23)を取得する。そして、画像位置取得手段242を用いて、ビットマップ画像23の左上端から右下に順にピクセルをチェックしていき、初めて黒色のピクセルが存在した部分を選択した HTML要素の表示位置を41(図5)とする。HTMLソース位置指定手段202を用いて、 HTMLソース12を変更し、選択したHTML要素の絶対座標を表示位置41として指定した HTMLソース13を作成する(ステップ503相当)。
【0068】
次に、サーバ通信手段251を用いて、HTMLソース13と Webブラウザの種類をサーバ104に送信する。サーバ104は、 Webサーバ通信手段351により HTMLソース13と Webブラウザの種類を受け取り、画像取得手段341を用いて、HTMLソース13を Webブラウザ4で表示したビットマップ画像34を取得し、Webサーバ通信手段351を用いて Webサーバ103に送信する。
【0069】
Webサーバ103は、サーバ通信手段251によりビットマップ画像(図5の24)をサーバ104から受け取る。画像位置取得手段242を用いて、ビットマップ画像24から選択した HTML要素の表示位置(図5の42)を取得する。表示位置41と表示位置42が異なった場合、表示位置差計算手段203を用いて、表示位置の差(表示位置41−表示位置42)を取得する。表示位置修正手段204を用いて、選択した HTML要素の絶対座標を(表示位置42+(表示位置41−表示位置42))として指定するように HTMLソース13を置き換える(ステップ504,ステップ505相当)。
【0070】
つまり、第1の発明におけるWebブラウザ1に代わって、Webブラウザ4が同様な役割を担うのである。各 HTML要素の表示サイズを補正する処理と、表示文字サイズが一致するように HTMLソースを補正する処理についても、同様に解されたい。前述の第1の発明における、これらの処理の説明と、上述の第2の発明における表示位置補正の説明とから詳細な動作は自明である。
【産業上の利用可能性】
【0071】
本発明は、クライアントが使用する可能性のある Webブラウザの種類が複数ある場合のインターネットやイントラネット上の Webサーバに適用できる。また、開発環境下で使用し、複数の Webブラウザ向けの HTMLソースを作成する用途にも適用可能である。
【図面の簡単な説明】
【0072】
【図1】第1の本発明による Webサーバの実施の形態を示すブロック図
【図2】本発明における Webページ_ブラウザ対応テーブルの例を示す図
【図3】本発明におけるWebページ_補正後ブラウザ対応テーブルの例を示す図
【図4】第1の本発明の Webサーバの動作を示すフローチャート
【図5】本発明の本発明の具体的なイメージを与える第1の模式図
【図6】本発明の本発明の具体的なイメージを与える第2の模式図
【図7】本発明の本発明の具体的なイメージを与える第3の模式図
【図8】第2の本発明による Webページレイアウト補正システムの実施の形態を示すブロック図
【図9】第2の本発明における Webブラウザ_サーバ対応テーブルの例を示す図
【符号の説明】
【0073】
1,2,4,5 Webブラウザ
3,6 Webブラウザ群
10 Webブラウザ
21〜27 ビットマップ画像
101 クライアント
102,103 Webサーバ
104 サーバ
131 Webページ_ブラウザ対応テーブル
132 Webページ_補正後ブラウザ対応テーブル
133 Webブラウザ_サーバ対応テーブル
141 HTMLソース保存メモリ
142 処理中HTMLソース保存メモリ
200 表示位置補正手段
201 HTMLソース要素強調表示手段
202 HTMLソース位置指定手段
203 表示位置差計算手段
204 表示位置修正手段
210 表示サイズ補正手段
211 HTMLソースサイズ指定手段
212 表示サイズ差計算手段
213 表示サイズ差修正手段
220 表示文字サイズ補正手段
221 HTMLソース文字強調表示手段
222 表示文字サイズ修正手段
231,232 クライアント情報取得手段
240 画像解析手段
241 画面画像取得手段
242 画面位置取得手段
243 画面サイズ取得手段
244 画面文字数確認手段
245 画像比較手段
251 サーバ通信手段
341 画像解析手段
351 Webサーバ通信手段

【特許請求の範囲】
【請求項1】
クライアントと同じ OSを有する Webサーバが接続され、該 Webサーバは、
クライアントが使用する Webブラウザと同じ種類の Webブラウザ(Webブラウザ1)で 要求された Webページを表示した際の表示領域のビットマップ画像から、前記 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、
Webページの画面レイアウトが正しく表示される Webブラウザ(Webブラウザ2)で前記 Webページを表示した際の表示領域のビットマップ画像から、前記 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、
前記2つの取得した表示位置,表示サイズおよび表示文字サイズをそれぞれ比較する手段と、
前記2つの取得した表示位置,表示サイズまたは表示文字サイズの何れかが異なる場合には、同じになるように前記 Webページの HTMLソースを補正する手段を有することを特徴とする Webページレイアウト補正システム。
【請求項2】
Webサーバとそれぞれが異なる OSを有するサーバとを接続した Webページレイアウト補正システムであって、
前記 Webサーバは;
クライアントが使用する Webブラウザと同じ種類の Webブラウザ(Webブラウザ1)で要求された Webページを表示した際の表示領域のビットマップ画像から、前記 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、
Webページの画面レイアウトが正しく表示される Webブラウザ(Webブラウザ2)で前記 Webページを表示した際の表示領域のビットマップ画像から、前記 Webページの各 HTML要素の表示位置,表示サイズおよび表示文字サイズを取得する手段と、
前記2つの取得した表示位置,表示サイズおよび表示文字サイズをそれぞれ比較する手段と、
前記2つの取得した表示位置,表示サイズまたは表示文字サイズの何れかが異なる場合には、同じになるように前記 Webページの HTMLソースを補正する手段を有し、
前記サーバは;
クライアントの OSが前記 Webサーバの OSと異なる場合に、前記 Webサーバからクライアントが使用する Webブラウザの種類と前記 Webページの HTMLソースの送信を受けて、前記 Webブラウザ1で前記 Webページを表示した際の表示領域のビットマップ画像を取得し前記 Webサーバへ返信することを特徴とする Webページレイアウト補正システム。
【請求項3】
前記 Webサーバは、
Webページの HTMLソースを保存する HTMLソース保存メモリと、
前記Webブラウザ1および前記Webブラウザ2を含む Webブラウザ群と、
前記クライアントの Webブラウザから Webページの表示要求を受けると、前記クライアントの OSや使用している Webブラウザの種類などの情報を取得するクライアント情報取得手段と、
前記情報により、当該 Webブラウザ1および Webブラウザ2により前記 HTMLソースを表示し、その状態のビットマップ画像から HTML要素の表示位置,表示サイズおよび表示文字サイズを取得し解析する画像解析手段と、
前記解析の結果により HTML要素の表示位置を補正する処理を行う表示位置補正手段と、
前記解析の結果により HTML要素の表示サイズを補正する処理を行う表示サイズ補正手段と、
前記解析の結果により HTML要素の表示文字サイズを補正する処理を行う表示文字サイズ補正手段と、
前記補正処理中に作成した HTMLソースを保存する処理中 HTMLソース保存メモリを有することを特徴とする請求項1または請求項2記載の Webページレイアウト補正システム。
【請求項4】
前記画像解析手段は、
前記 HTMLソースを前記 Webブラウザ1および前記 Webブラウザ2に表示し、それぞれの表示領域のビットマップ画像を取得する画面画像取得手段と、
前記各ビットマップ画像からそれぞれの HTML要素の表示位置を取得する画像位置取得手段と、
前記各ビットマップ画像からそれぞれの HTML要素の表示サイズを取得する画像サイズ取得手段と、
前記各ビットマップ画像からそれぞれの HTML要素下の文字列が全て表示されているか確認する画面文字数確認手段と、
前記各ビットマップ画像に異なる部分がないか調べる画像比較手段を有することを特徴とする請求項3記載の Webページレイアウト補正システム。
【請求項5】
前記表示位置補正手段は、
特定の HTML要素を黒色、その他の HTML要素を白色で表示されるように前記 HTMLソースを変更する HTMLソース要素強調表示手段と、
前記強調表示された HTML要素の位置指定方法を絶対座標での指定に変更する HTMLソース位置指定手段と、
前記 Webブラウザ1と、前記 Webブラウザ2で前記指定変更された HTMLソースを表示したときの HTML要素の表示位置の差を計算する表示位置差計算手段と、
前記 HTML要素の指定位置を前記表示位置差計算手段により算出した値で修正する表示位置修正手段を有することを特徴とする請求項3記載の Webページレイアウト補正システム。
【請求項6】
前記表示サイズ補正手段は、
前記 HTML要素のサイズ指定方法をピクセル単位での指定に変更する HTMLソースサイズ指定手段と、
前記 Webブラウザ1と、前記 Webブラウザ2で HTMLソースを表示したときの HTML要素の表示サイズの差を計算する表示サイズ差計算手段と、
前記 HTML要素の指定サイズを前記表示サイズ差計算手段により算出した値で修正する表示サイズ修正手段を有することを特徴とする請求項3記載の Webページレイアウト補正システム。
【請求項7】
前記表示文字サイズ補正手段は、
特定の HTML要素内の文字列が全て表示されるか確認するために文字列の直後に黒色で表示される文字を追加し、他の文字列や HTML要素は白色に表示されるように前記 HTMLソースを変更する HTMLソース文字強調表示手段と、
前記変更された HTMLソースを Webブラウザ1で表示し、前記追加した黒色の文字が表示されるまで、前記 HTML要素の指定文字サイズを小さく変更した HTMLソースを作成していく表示文字サイズ修正手段を有することを特徴とする請求項3記載の Webページレイアウト補正システム。
【請求項8】
Webページの URLと、前記 Webブラウザ2の種類の対応を保持するテーブルと、
前記補正前後のWebページの URLと、前記 Webブラウザ2の種類の対応を保持するテーブルを備え、
前記クライアントの Webブラウザから Webページの表示要求を受けると、前記画像解析手段は前記補正の前後に応じて前記テーブルを使い分け、該当する前記 Webブラウザ2の種類を抽出して使用することを特徴とする請求項3記載の Webページレイアウト補正システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−39815(P2010−39815A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−202859(P2008−202859)
【出願日】平成20年8月6日(2008.8.6)
【出願人】(303013763)NECエンジニアリング株式会社 (651)
【Fターム(参考)】