2011-11-08 3 views
1

내 FF 확장 프로그램에서 페이지의 모든 링크의 절대 URL을 가져 오려고합니다. 나는 이것이 JS에 의해 행해질 수 있다는 것을 알고있다. 그러나 나는 이것이 어떤 FF 서비스에 의해서 행해질 수 있는지 알고 싶다.상대 URL로부터 절대 URL을 가져 오시겠습니까?

도움 주셔서 감사합니다. 모든

답변

2

첫째, 링크의 절대 URL을 얻는 것은 간단하다 : 당신은 절대 URL을 얻을 수 있도록

console.log(doc.links[0].href); 

링크의 href 속성 (하지href 속성이) 항상 자동으로 해결 무엇이든 노력없이.

나는 정말로 당신이 어딘가에서 얻은 상대 URL을 해결할 것이라고 생각합니다. 당신은이에 대한 nsIIOService를 사용 결과로, 상대 URL /test.gif 페이지 주소 http://example.com/index.html를 기준으로 해결 된 http://example.com/test.gif

var ioService = Components.classes["@mozilla.org/network/io-service;1"] 
          .getService(Components.interfaces.nsIIOService); 
var baseURI = ioService.newURI("http://example.com/index.html", null, null); 
var absURI = ioService.newURI("/test.gif", null, baseURI); 
console.log(absURI.spec); 

이 예를 당신에게 제공합니다.

+0

완벽한 덕분에! – NoBugs

관련 문제