Zitat von <woltlab-metacode-marker data-name=
asquella, der Autor der InfoLister Erweiterung" data-link="">
I'm not working at the extension right now, sorry.
Damit wird wohl vorerst ein Problem der InfoLister Erweitung nicht behoben werden, das mich doch etwas stört:
InfoLister sucht die falschen xpi Links zu Erweiterungen raus, in deren update.rdf mehr als eine Version enthalten ist, siehe hier.
Ich habe jedenfalls schon die Stelle in der Erweiterung gefunden, die dafür verantwortlich ist:
In http://Infolister.xpi/chrome/infolister.jar/content/components/xpiLinks.js steht:
if (!updates)
{ // maybe we found an old update.rdf (for Firefox v0.9)
var updateLinkResource = datasource.GetTarget(extensionRes, gRDF.GetResource(XMLNS_EM + "updateLink"), true);
return updateLinkResource ? updateLinkResource.QueryInterface(CI.nsIRDFLiteral).Value : "";
}
var updatesCont = CC["@mozilla.org/rdf/container;1"].createInstance(CI.nsIRDFContainer);
updatesCont.Init(datasource, updates.QueryInterface(CI.nsIRDFResource));
// for simplicity, we take the first version we find (it's usually the one we want)
var versionInfo = updatesCont.GetElements().getNext().QueryInterface(CI.nsIRDFResource);
var targetApps = datasource.GetTargets(versionInfo, gRDF.GetResource(XMLNS_EM + "targetApplication"), true);
while (targetApps.hasMoreElements())
{
var targetAppInfo = targetApps.getNext().QueryInterface(CI.nsIRDFResource);
var targetAppID = datasource.GetTarget(targetAppInfo, gRDF.GetResource(XMLNS_EM + "id"), true).QueryInterface(CI.nsIRDFLiteral).Value;
if (targetAppID != appID)
continue;
var updateLink = datasource.GetTarget(targetAppInfo, gRDF.GetResource(XMLNS_EM + "updateLink"), true);
if (updateLink)
return updateLink.QueryInterface(CI.nsIRDFLiteral).Value;
}
return "";
}
Alles anzeigen
man beachte insbesondere diese Stelle:
was ich ja gerade nicht will....
...leider habe ich noch zu wenig Ahnung von Erweiterungen und JavaScript, hat daher jemand 'ne Idee, wie man Infolister dazu bringen könnte, nicht den ersten, sondern den letzten passenden xpiLink zu nehmen?
Beipiele für derartige update.rdfs:
Die von InfoLister selbst (gefunden wird nur der Link zur Version 0.82)
Die von TabSidebar (gefunden wird ebenfalls nur der erste Link)
Vielen Dank schonmal und Gruß,
Bazon