2011-07-02 5 views
0

예의 렌더링 된 텍스트 사이의 거리를 찾을 수 있습니다.는 프로그래밍 HTML 페이지

그래서 내 응용 프로그램은 html 파일과 2 개의 변수 (html 파일에있는 문자열)를 취한 다음 2 개의 문자열 사이의 수평 거리 (픽셀 단위?)를 찾습니다.

전혀? 나는 이것을 달성하기 위해 웹킷과 같은 오픈 소스 엔진을 수정해야한다고 생각합니다. 권리? 아니면 더 간단한 방법이 있습니까? CSS 규칙에 대한 페이지 구문 분석 ... 작동합니까?

웹킷이라면 얼마나 힘들겠습니까? 어떤 언어를 마스터해야합니까? 난 단지 PHP (C, C 번호의 비트, 자바)

감사

+0

에는 CSS 파서/HTML + CSS 렌더러는 AFAIK가 없습니다. 그래서 이것을 해결하기 위해 webkit + javascript와 같은 다른 것을 사용해야합니다. – hakre

답변

0

를 사용하여 자바 스크립트를 알고있다.

그런 식으로 요소의 속성을 찾아 거리를 비교할 수 있습니다.

예를 들어, javascript를 사용하여 element.left, element.width 및 element2.left를 가져올 수 있습니다. 그런 다음 element2.left - (element.left + element.width)를 사용하여 거리를 찾을 수 있습니다.

+0

감사! 이것은 효과가있다. 나는 자바 스크립트를 사용하는 것을 결코 생각하지 못했다. 잘 모르겠 javascript 함수에 의해 반환 된 값을 얻는 방법 ... 아마 htmlfile에 js 코드를 삽입하고, 페이지 자체에서 거리를 출력하고, cutycapt를 통해 파일을 실행 한 다음 결과에 대한 출력을 구문 분석합니다. 오랫동안 작동하지만 –

+0

질문 : javascript 요소를 얻는 방법? 내가 가지고있는 것은 문자열이다 –

+0

document.getElementById (elementsid); ID는 다음과 같이 위치합니다.

0

다음은 question에서 stackoverflow를 사용하면 요소와 문서 왼쪽 상단 사이의 거리를 찾을 수있는 방법을 제안합니다 (javascript 및 jQuery 사용).

난 당신이 다음을 수행 할 수 있다고 가정 할 두 가지 요소 사이의 거리를 찾으려면 : 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);