2010-04-04 3 views
2

많은 데이터를 우회하여 직접 원하는 데이터를 얻으 려합니다. 여기 Javascript의 도움이 필요합니다. 생각해 보니

내가 가고 싶은 링크입니다 :

공지 사항, 욕실, 당신은 단순히 그러나 "뒤에"어떤지도 데이터가없는지도의 GIF 개요를 참조하십시오.

그러나, 당신은에 가면 : factfinder.census.gov/servlet/DTGeoSearchByListServlet?ds_name=DEC_2000_SF1_U & _lang = EN & _ts =

  1. 288,392,632,118 선택 지리적 유형 : ..... ... .. 인구 조사 요로
  2. 국가 선택 : 선택 카운티 워싱턴
  3. 을 : 피어스
  4. 을 하나 이상 선택 지리적 지역 : 인구 조사 요로 729.04
  5. 히트 "마 p "

지도가 완벽하게로드됩니다. 또한 브라우저를 닫을 때까지 다른 링크가 완벽하게 작동합니다. 내가하고 싶은 것은이 5 단계를 건너 뛸 수 있지만 분명히 뭔가가 이것을 막고 있습니다. 가능한 해결 방법이 있습니까? 나는 새로운 Javascript 또는 HTML 파일이나 필요한 것이 무엇이든 업로드 할 수있는 자체 도메인을 가지고있다.

답변

1

이것은 꽤 js 해결책이 아니지만, Imacros 플러그인 (firefox, chrome 및 IE와 함께 작동)을 사용하는 것이 좋습니다.

매크로를 사용하여 웹 사이트와 상호 작용할 수 있으며 자바 스크립트를 작성하여 웹 콘텐츠를 처리 할 수 ​​있습니다.

+0

감사! 나는 그것을 들여다 볼 것이다. 내가 더 간단한 해결책을 찾고있는 주된 이유는 기술에 능숙하지 않은 사용자를 돕는 데있다. 나는 브라우저 창을 닫지 않는 것을 이해하지만 누군가에게 직접 링크를 보낼 수 있다면 그것을 좋아할 것입니다. 직접 링크가 일종의 프록시를 통과해야하는 경우에도 마찬가지입니다. – Mikey

1

관련 코드를 살펴보면 필요한 몇 가지 기능 만 있습니다. "Map it"버튼은 '/ servlet/MapItDrawServlet'의 문자열 리터럴로 mapit 함수를 호출합니다.

function launchMapItServlet(mapItServlet) { 
    context = document.form1.context.value; 
    lang = "en"; 
    url = mapItServlet + "?geo_id=" + geo + "&" + "tree_id=" + tree_id + "&context=" + context + "&_lang=" + lang; 
    url = getAFFWindowLocation(url, true); 
    windowCtr++; 
    window.open(url, "identify" + windowCtr, "menubar=yes,scrollbars=yes,resizable=yes,top=10,left=10,width=750,height=550"); 
} 

    function mapItMulti(servlet) { 
    if (numberOfSelections(document.forms["form1"].search_results) == 0 || numberOfSelections(document.forms["form1"].search_results) > 1) { 
     alert(ALERT_MSG1); 
    } 
    else if (canMapItMulti(document.forms["form1"].search_results)) { 
     index = document.forms["form1"].search_results.selectedIndex; 
     geo = document.forms["form1"].search_results.options[index].value; 
     tree_id = document.form1["tree_id"].value; 
     launchMapItServlet(servlet); 
    } 
    else { 
     alert(ALERT_MSG1); 
    } 
} 

function mapit(mapItServlet) { 
    geo = ""; 

    mapItMulti(mapItServlet); 

} 

특히 'url'변수와 관련하여 사용할 관련 정보 인 window.open 함수에 주목하십시오.

+0

생성되는 실제 URL은 다음과 같습니다. http://factfinder.census.gov/servlet/MapItDrawServlet?geo_id=14000US53053072904&tree_id=4001&context=dt&_lang=en&_ts=288394051422 – Nitrodist

+0

캐시되고있는 변수가 있다고 추측합니다. 서버 측에서 뭔가 빠졌어요.방금 알아 낸 또 다른 정보는 브라우저가 닫히거나 60 분이 지나야 다른 링크가 작동한다는 것입니다. 나도 자바 스크립트에 대해 충분히 알지 못한다. – Mikey

관련 문제