Получить абсолютный URL из относительного URL в расширении Firefox?
В своем расширении FF я хочу получить абсолютный URL-адрес всех ссылок на странице. Я знаю, что это может сделать JS. Но я хочу знать, может ли это быть сделано любым сервисом FF.
Спасибо за помощь.
1 ответ
Решение
Прежде всего, получить абсолютный URL-адрес ссылки тривиально:
console.log(doc.links[0].href);
href
свойство ссылки (не 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
,