2011-07-02 3 views
0

例のレンダリングされたテキストの間の距離を見つけます。はプログラムでhtmlページ

私のアプリケーションでは、htmlファイルと2つの変数(htmlファイルに存在する文字列)を取り込み、次に2つの文字列の間の水平距離(ピクセル単位)を検索します。

これはまったく可能ですか? 私は、これを達成するためにWebkitのようなオープンソースエンジンを変更する必要があると推測しています。右?それとも簡単な方法がありますか? CSSルールのページを解析すると...うまくいくのでしょうか?

ウェブキットの場合、どれくらい難しいですか?どの言語をマスターする必要がありますか?私はPHP(C、C#2のビット、Java)の

おかげ

+0

にはCSSパーサ/ HTML + CSSレンダラは、私の知る限りでは存在しません。だからあなたはこれを解決するために、Webkit + JavaScriptのような何かを使うべきです。 – hakre

答えて

0

使用Javascriptを知っています。

このようにして、要素のプロパティを見つけて比較して、距離を取得できます。

たとえば、javascriptを使用してelement.left、element.width、element2.leftを取得できます。次に、element2.left - (element.left + element.width)を使って距離を見つけることができます。

+0

ありがとう!これはうまくいくでしょう。私はjavascriptを使うことは考えていませんでした。 JavaScript関数から返された値を取得する方法がわからない... htmlファイルにjsコードを挿入し、ページ自体の距離を出力し、cutycaptを通してファイルを実行し、結果の出力を解析します。長いが、動作する –

+0

質問:どのようにjavascriptの要素を取得するには?私が持っているのは文字列です –

+0

document.getElementById(elementsid); IDは次のように配置されます:

0

次のquestionからのstackoverflowは、要素とドキュメントの左上隅の距離を(javascriptとjQueryを使用して)見つける方法を示唆しています。

は、私はあなたが次の操作を行うことができますことを前提としています2つの要素間の距離を見つけるには:PHPで

var el1offset = $("#element1id").offset(); 
var el2offset = $("#element2id").offset(); 
var distanceTop = Math.abs(el1offset.top-el2offset.top); 
var distanceLeft = Math.abs(el1offset.left-el2offset.left); 
var distance = Math.sqrt(distanceTop*distanceTop+distanceLeft*distanceLeft); 
関連する問題