Hallo allerseits!
Dieses Thema gab es zwar schon, aber nur als Abschweifung eines anderen Themas im Forum zum Portal erweiterungen.de, das man ja manchmal etwas übersieht vielleicht....
...und nun, da das ganze fertig ist (...und die autoupdates auf erweiterungen.de wieder funktionieren :wink: ....), lohnt es sich vielleicht das ganze an einer zentraleren Stelle kompakt darzustellen:
(Damit das wirklich kompakt wird, sollte ich nicht soviel dazwischenquatschen...)
Also, worum geht es:
Mit Infolister lassen sich Erweiterungs- und Themelisten erstellen, die man auch direkt zur Installation dieser Erweiterungen und Themes nutzen kann.
Siehe hier:
Liste von Mithrandir - Liste von Dr. Evil - Liste von mir
Liste erstellt durch ein neutrales Template
und die meisten anderen Teilnehmer dieses Threads haben mittlerweile auch eine Liste, einfach in die Signatur gucken...
Zumindest ich finde das überaus praktisch (z.B. für 'Auswärtsinstallationen' , um ein Profil wieder schnell nachbauen zu können oder um schneller nachvollziehen zu können, von welcher Erweiterung jemand berichtet [gesetzt den Fall, dieser jemand hätte auch so einen Link zu einer deratigen Liste in seiner Signatur...])
Achtung!:
Die Suche nach den Erweiterungs-/themelinks beruht auf der update Funktion der Erweiterungen/Themes. Es werden also nur Direktlinks zu Erweiterungen/Themes gefunden, die über eine funktionierende update Funktion verfügen! (Andere lassen sich auch nicht anklicken)
Was braucht man also zur Erstellung einer deratigen Liste:
- Infolister. Damit auch Direktlinks zu Themes gefunden werden wird die allerneuste Version, 0.9d,benötigt.
- Ein Template auf dessen Basis die Liste aufgebaut wird. Anpassungen an eigene Wünsche sollten damit kein Problem sein...
Das Template von Mithrandir
Das Template von Dr. Evil
Mein Template
Neu:
Ein neutrales Template - Die Themeinstallation läuft über Javascript. [edit]dazu ist aber nicht, wie ursprünglich angenommen, eine externe Javascript Datei nötig[/edit]Diese Javascript Datei muss dazu im selben Pfad liegen wie die html Liste (es sei denn, der Pfad wird im template angepasst...)
Danke nochmal an Mithrandir für die Erstellung dieses Templates! (Ich hab es dann nur für Themes angepasst...)
Vielleicht findet ja noch jemand sowas nützlich...:wink:
Gruß,
Bazon
PS:
Sollte ich das Template und das Skript mal vom Server nehmen:
neutrales-template:
text/html;Simple HTML;<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mein Firefox</title>
<!-- Pfade zu favicon, css und Skript anpassen -->
<!-- <link rel="SHORTCUT ICON" href="favicon.ico"/> -->
<!-- <link rel="stylesheet" type="text/css" href="stylesheete.css" /> -->
<!-- <script type="text/javascript" src="ilscripts.js"></script> -->
<style type="text/css">
ul
{
list-style: none outside;
}
ul, li
{
margin: 0 5px;
padding: 0;
}
* {font-family:Helvetica,Arial,sans-serif;}
input[type="checkbox"]:disabled
{
visibility: hidden;
}
</style>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
window.addEventListener("DOMContentLoaded", function(event)
{
var inputs = document.getElementsByTagName("input"), i;
for(i in inputs)
{
if(inputs[i].type == "checkbox")
{
inputs[i].disabled = (inputs[i].value == "");
}
}
}, true);
function installXPI(hNode) {
var obj = { }, noItems = true;
if ("action" in hNode) {
var elements = hNode.elements;
for (var i=0; i < elements.length; i++) {
if ((elements[i].type == "checkbox") && (elements[i].checked)) {
obj[elements[i].name] = elements[i].value;
noItems = false;
}
}
} else if ("href" in hNode) {
obj[hNode.title] = hNode.href;
noItems = false;
}
try {
if (noItems) {
alert("Keine Auswahl getroffen.");
} else if (InstallTrigger.updateEnabled()) {
InstallTrigger.install(obj);
} else {
alert("Sie muessen den Webseiten das Installieren von Software erlauben.\nBitte aktivieren Sie dies unter Extras/Einstellungen.");
}
} catch(ex) {
alert("Software dieser Art wird von Ihrem Browser nicht unterstuetzt.");
}
return false;
}
function installTheme(hNode) {
var obj = { }, noItems = true;
if ("action" in hNode) {
var elements = hNode.elements;
for (var i=0; i < elements.length; i++) {
if ((elements[i].type == "checkbox") && (elements[i].checked)) {
obj[elements[i].name] = elements[i].value;
InstallTrigger.installChrome(InstallTrigger.SKIN, elements[i].value, elements[i].name);
noItems = false;
}
}
}
return false;
}
function CheckboxenAktivieren(f)
{
for(i=0; i<f.length; i++)
{
if(f[i].value != "" && !f[i].disabled)
f[i].checked = !f[i].checked;
}
}
// End -->
//]]>
</script>
<h1>Mein Firefox</h1>
<p>
Alle [de]-Extensions sind auf <a href="http://www.erweiterungen.de/">erweiterungen.de</a> zu finden.
</p>
[[<div class="lastupd">
Letzte Aktualisierung: %lastupd%
</div>]]
[[<div class="useragent">
User Agent: <strong>%useragent%</strong>
</div>]]
<p><strong>Hinweis:</strong><br/>
Es lassen sich nur Erweiterungen und Themes mit Checkbox installieren, bei anderen fehlt (aufgrund einer nicht funktionierenden Update-Funktion) der Direktlink.<br/>
Installation einzelner Erweiterungen und Themes durch Klick auf die Versionsnummer.<br/>
Installation mehrerer Erweiterungen und Themes gleichzeitig durch Auswahl und Betätigung des 'Installieren' Buttons.<br/>
Beschreibung in Form eines Tooltips bei mouseover.<br/></p>
[[<div class="extensions">
<h3>Erweiterungen (aktiviert: %enabled_extensions_count%, deaktiviert: %disabled_extensions_count%):</h3>
<form action="javascript:void(0);" method="post" onsubmit="return installXPI(this);">
<p><input value="Gewählte Erweiterungen installieren" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form.elements);" value="Auswahl umkehren" /></p>
<ul>
{{extension:
<li>
<input name="%name%" value="%xpiLink%" title="%xpiLink%" type="checkbox" />
<a href="%homepageURL%" title="Homepage von %name% - %description%">%name%</a> <a href="javascript:void((function(){if('%xpiLink%' != '') {var xpi = new Object(); xpi['%name%'] = '%xpiLink%'; InstallTrigger.install(xpi)} if('%xpiLink%' == '') alert('Diese Erweiterung läßt sich leider aufgrund fehlender Update Funktion nicht direkt installieren.')})())" title="Installiere %name% - %description%">%version%</a> %disabled-text%
</li>}}
</ul>
<p><input value="Gewählte Erweiterungen installieren" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form);" value="Auswahl umkehren" /></p>
</form>
</div>]]
[[<div class="Themes">
<h3>Themes (%themes_count%):</h3>
<form action="javascript:void(0);" method="post" onsubmit="return installTheme(this);">
<p><input value="Gewählte Themes installieren" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form);" value="Auswahl umkehren" /></p>
<ul>{{theme:
<li>
<input name="%name%" value="%xpiLink%" title="%xpiLink%" type="checkbox" />
<a href="%homepageURL%" title="Homepage von %name% - %description%">%name%</a> <a href="javascript:void((function() {if('%xpiLink%' != '') InstallTrigger.installChrome(InstallTrigger.SKIN,'%xpiLink%','%name%'); if('%xpiLink%' == '') alert('Diese Theme läßt sich leider aufgrund fehlender Update Funktion nicht direkt installieren.')})());" title="Installiere %name% - %description%">%version%</a> %selected-text%
</li>}}
</ul>
<p><input value="Gewählte Themes installieren" class="button" type="submit" />
<input type="button" onclick="CheckboxenAktivieren(this.form);" value="Auswahl umkehren" /></p>
</form>
</div>]]
[[<div class="plugins">
<h3>Plugins (%plugins_count%):</h3>
<ul>
{{plugin: <li>%name%</li>
}}</ul>
</div>]]
<hr />
<p class="footer">Diese
Übersicht wurde mit <a href="http://mozilla.doslash.org/infolister">»InfoLister«</a> erstellt.</p>
</body>
</html>
Alles anzeigen
[Edit]hier stand mal das externe Skript, was jetzt schon im Template eingebaut ist[/edit]
Edit: Um die Versionsnummer noch ein Link zur Datei gesetzt.
Edit2: Tooltipps von Mithrandir eingebaut sowie Direktinstallationslinks auf die Versionsnummern
Edit3: Diese und die Zeile obendrüber geschrieben...:wink:
Edit4: Deaktivierte Checkboxen Skript von Dr Evil ins template eingebaut, alle anderen Skripts gleich mit ---> keine externe ilscripts.js mehr nötig
Edit5: HTML validiert
Edit 6: jetzt endgültig w3c validiert...:wink: (enthielt vorher noch kleine Fehler wie <br> statt <br/>...)
Edit 7: Nochmalige Aktualiserung des Templates ("markierung umkehren"), Links auf Templates von Mithrandir und Dr. Evil
Edit 8: Ups, bisher vergessen: :oops: Link zur Liste von Dr. Evil, der, wie ich sehe, gerade nochmal am nachlegen ist....:wink:
Edit 9: Link zu neutralem Template hinzugefügt