2008-09-02 5 views
1

HTTP get에서 데이터를 읽는 Firefox 플러그인을 가져와 결과를 구문 분석하고 북마크와 같은 드롭 다운 메뉴에 링크로 표시하려고합니다.Firefox에서 제공하는 http-get 북마크 읽기

내 질문은 다음과 같습니다. 누구든지이 작업을 수행 할 샘플 코드가 있습니까?

답변

2

자신을 직접 개발 한 적이 없지만 Firefox 플러그 인에서 일반적으로 어떻게 수행되는지는 확실하지 않지만 플러그인 스크립팅은 JavaScript이므로로드 부분을 도와 줄 수 있습니다.

var xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET", url, true); 

xmlhttp.onreadystatechange = function() { 
    if(this.readyState == 4) { // Done loading? 
     if(this.status == 200) { // Everything okay? 
      // read content from this.responseXML or this.responseText 
     } else { // Error occurred; handle it 
      alert("Error " + this.status + ":\n" + this.statusText); 
     } 
    } 
}; 

xmlhttp.send(null); 

이 코드에 대한 참고 사항의 몇 :

  • 당신은보다 정교한 상태 코드 처리를 할 수 있습니다라는 변수가 요청하고자하는 URL이 포함 된 URL을 가정. 예를 들어, 오류가없는 유일한 상태 코드는 200이 아닙니다. 상태 코드에 대한 자세한 내용은 here입니다.
  • 어떤 이유로 든 적절한 시간 내에 readyState 4에 도달하지 못하는 경우를 처리하기 위해 시간 초과가 필요할 수 있습니다.
  • 이전 readyStates를 받았을 때 수행 할 수 있습니다. This page은 유용 할 수있는 XMLHttpRequest 객체의 다른 속성 및 메서드와 함께 readyState 코드를 문서화합니다.
0

Robert Walker는 how to send the request을 잘 설명했습니다. Mozilla's xmlhttprequest here에 대한 자세한 내용을 볼 수 있습니다. 난 그냥 응답이

xmlhttp.responseText 

사용 (로버트의 코드를 사용하여) 발견 될 것이라는 점을 추가 할

( 편집 - 내가 밀접하게 충분히 읽어 보지 않았, 감사 로버트)

데이터에서 링크를 구문 분석하고 싶다고 말했지만 데이터가 정확히 무엇인지 나타내지는 않았습니다. 당신은 xmlhttp.responseText를 XML 문서로 만들 수 있고, 링크를 파싱하고 그것을 menulist 또는 원하는대로 배치 할 수 있습니다.

+0

사실, 필자가 작성한 onreadystate 함수는 XMLHttpRequest 객체를 컨텍스트로 가정 했으므로 코드의 주석에 표시된대로 this.responseText 또는 this.responseXML을 사용하려고합니다. –