Прежде всего, получить абсолютный URL ссылки тривиально:
console.log(doc.links[0].href);
Свойство href
ссылки ( not атрибут href
) всегдаразрешается автоматически, так что вы получаете абсолютный URL без каких-либо усилий.
Я подозреваю, что вам действительно нужно разрешить относительный URL, полученный откуда-то.Для этого вы используете nsIIOService :
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);
В этом примере в результате вы получите http://example.com/test.gif
, относительный URL /test.gif
разрешен относительно адреса страницы http://example.com/index.html
.