rem: URL.spec = URL.resolve(urlArr[i]); 
add: try { URL = ioService.newURI(urlArr[i], URL.originCharset, URL); } catch (ex) { ; } 
context: function getAbsoluteURL(url, node){  if (!url || !node)    return "";  var urlArr = new Array(url);  var doc = node.ownerDocument;  if (node.nodeType == Node.ATTRIBUTE_NODE)    node = node.ownerElement;  while (node && node.nodeType == Node.ELEMENT_NODE)   {    var att = node.getAttributeNS(XMLNS, "base");    if (att != "")      urlArr.unshift(att);    node = node.parentNode;  }  // Look for a <base>.  var baseTags = doc.getElementsByTagNameNS(XHTMLNS, "base");  if (baseTags && baseTags.length)   {    urlArr.unshift(baseTags[baseTags.length - 1].getAttribute("href"));  }  // resolve everything from bottom up, starting with document location  var ioService = Components.classes["@mozilla.org/network/io-service;1"].getService(Components.interfaces.nsIIOService);  var URL = ioService.newURI(doc.location.href, null, null);  for (var i=0; i<urlArr.length; i++)   {    URL.spec = URL.resolve(urlArr[i]);  }  return URL.spec;}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/2eec71e69e2dac5606c9fb18eab7df85a44dce34/pageInfo.js/buggy/browser/base/content/pageInfo.js