2010-05-13 5 views
1

iframe 또는 다른 웹 사이트에서 지정된 div를 표시하는 다른 방법을 사용하는 방법이 있습니까?다른 웹 사이트에서 div 표시

정부 웹 사이트의 일부 데이터를 Google지도로 가져오고 지점을 클릭하면 해당 페이지의 div 중 하나의 정보가 표시되기를 원합니다.

답변

1

나는 다른 웹 사이트에서 div의 ID를 알고 있다고 가정합니다.

예인 경우. Jquery Ajax를 사용하여 사이트의 콘텐츠를 사이트의 숨겨진 iframe으로 가져 오십시오. 그런 다음 div - in - question의 내용을 일부 변수로 가져온 다음 목적에 맞게 사용할 수 있습니다 (HTML 테이블 데이터를 구문 분석하거나 무엇이든 할 수 있습니다)

불필요한 항목이 없도록 iframe의 내용을 삭제합니다. 귀하의 페이지의 DOM. 페이지에서 HTML을 긁어 사내 서비스

+1

의 JQuery와 문서 here를 방문 할 수 있습니다 : 여기 test.html를라는 페이지에서 ID가 "용기"와 용기를 얻을 수있는 작은 예입니다 파이어 폭스는 다른 웹 사이트에서 가져온 iframe의 콘텐츠에 액세스하는 것을 허용하지 않습니다. (동일한 도메인 간 제한 사항) 내가 잘못했는지 확실하지 않습니다. –

0

데이터 (예 : CURL 라이브러리를 사용하여 PHP 스크립트)를 검색하려면 JSONP 또는 중간 에이전트를 사용해야합니다.

JSONP 기능은 MooTools 및 jQuery와 같은 수많은 Javascript 라이브러리에 포함되어 있습니다. 그것이 제가 사용할 방법입니다.

Mootools의 : http://mootools.net/docs/more/Request/Request.JSONP

jQuery를이 : http://docs.jquery.com/Release:jQuery_1.2/Ajax 당신은 DIV가있는 페이지의 본문을 검색하면

, 당신은 특정 DIV 요소에서 정보를 추출 정규식을 사용할 수 있습니다.

1
  1. 아약스 전화
  2. 아약스 호출 핸들러
  3. 에 돌아의 내용을 교체 XPath는/SGML 파서 사업부를 선택하여 div

다른 문제가 있습니다. 즉, 다른 사람의 사이트에서 콘텐츠를 스크랩하는 것입니다 그들의 허락은 나쁜 것이다.

그들은 관심을 가질 수도 있지만 신경 쓰지 않을 수도 있지만 여전히 허가를 받아야하거나 어느 날 웹 서버가 사이트에서 블랙리스트에 올 수 있습니다. 또는 악화 ... 특히 정부 사이트.

아마도 필요한 데이터를 적절하게 얻는 방법 (어딘가에 API가있는 경우)을 작성한 다음 자신 만의 버전을 렌더링하는 방법을 찾아야합니다.

9

JQuery를 사용하면 정확히로드 기능을 사용할 수 있어야합니다. 내가 전에 비슷한 시도하고 발견

$('#contentDiv').load('/Test.hmtl #container'); 

당신은 더 많은 정보

+0

그걸 생각하지 못했습니다. 그 방법은 더 쉽습니다. +1 –

+6

동일한 도메인의 페이지에만 작동합니다. – SLaks

+0

지금까지 일반적인 .get() 함수 호출과 같은로드 기능을 볼 수 있지만 반환하는 부분의 선택기로 URL의 첫 번째 공백 이후의 모든 것을 처리합니다. 그러나 나는 그것을 충분히 탐구하지 못했습니다. – Falle1234

관련 문제