d@vid
22-05-2010, 18:01
premessa: Ragazzi non spaventatevi per il post lungo!! Dovete solo farmi capire come devo fare per inserire all'interno di una pagina html il riferimento ad un .js preesistente, tutto qui. Grazie a chi vorrà aiutarmi:)
Salve
In seguito all'installazione di un plug-in ho dovuto riavviare Firefox, e non mi è stato possibile usare il ripristino di sessione (la finestra Oops... questo è imbarazzante mi è apparsa priva di schede)
Ho trovato il file sessionstore.js (è aggiornato all'ora che mi aspettavo, e non vuoto) che dovrebbe contenere le schede aperte prima del riavvio, e volevo tentare di recuperarne le url. Solo che non so come estrarlo. (a me si trova in C:\Users\NOMEUTENTE\AppData\Roaming\Mozilla\Firefox\Profiles\IDNUMERICO.default)
Allora, la procedura l'ho trovata, ed è indicata qui (http://blog.rot13.org/2009/02/restore_firefox_session_from_sessionstorejs.html), che riporto di seguito per semplicità:
Firefox stores session data (including back history!) in .mozilla/firefox/NUMERIC_ID.default/sessionstore.js and you can use html page generation javascript from ZeePrime@mozillaZine forums.
Il file da usare per l'estrazione è contenuto nel terzultimo post in questo forum (http://forums.mozillazine.org/viewtopic.php?t=622036), lo scrivo di seguito:
<html><head>
<style type="text/css">
a.selected, li.selectedtab { color: blue; font-weight: bold; }
li.closedtab { color: red; text-decoration: line-through; }
</style>
</head><body>
<ul id="windows">
<script type="text/javascript">
function dowindow(wind,wname,wclass) {
document.write("<li class=\"" + wclass + "\">");
document.write("<b>" + wname + "</b>");
document.write("<ol class=\"tabs\">");
var sel = wind["selected"];
var tabs = wind["tabs"];
for (var j = 0; j < tabs.length; j++) {
var tabclass = "tab"
if (j + 1 == sel) tabclass = "selectedtab"
dotab(tabs[j],"Tab #" + (j+1),tabclass);
}
var tablen = tabs.length;
tabs = wind["_closedTabs"];
for (var j = 0; j < tabs.length; j++) {
dotab(tabs[j]["state"],"Tab #" + (tablen + j + 1),"closedtab");
}
document.write("</ol>");
document.write("</li>");
}
function dotab(tab,tname,tclass) {
document.write("<li class=\"" + tclass + "\">");
document.write("<b>" + tname + "</b>");
document.write("<ul class=\"urls\">");
var sel = tab["index"];
var urls = tab["entries"];
for (var j = 0; j < urls.length; j++) {
var urlclass = "url"
if (j + 1 == sel) urlclass = "selectedurl"
dourl(urls[j],urlclass);
}
document.write("</ul>");
document.write("</li>");
}
function dourl(url,uclass) {
document.write("<li class=\"" + uclass + "\">");
var uname = url["title"];
if (!(uname) || uname == "") uname = url["url"];
document.write("<a href=\"" + url["url"] + "\">" + uname + "</a>");
document.write("</li>");
}
var data = <PUT CONTENTS OF sessionstore.js HERE!>;
var windows = data["windows"];
for (var i = 0; i < windows.length; i++) {
dowindow(windows[i],"Window #" + (i+1),"window");
}
</script>
</ul>
</body></html>
L'autore dice
Here's a "quick-and-dirty" approach to extracting info from your sessionstore.js file. Just replace the line "<PUT CONTENTS OF sessionstore.js HERE!>" with the contents of your sessionstore.js file and open this puppy in mozilla as a standard html file.
Un utente ha riscritto per maggior chiarezza il codice in questione in questo modo (lo ha indentato, e ha "cambiato nome alla riga da sostituire")
<html><head>
<style type="text/css">
a.selected, li.selectedtab { color: blue; font-weight: bold; }
li.closedtab { color: red; text-decoration: line-through; }
</style>
</head><body>
<ul id="windows">
<script type="text/javascript">
function dowindow(wind,wname,wclass) {
document.write("<li class=\"" + wclass + "\">");
document.write("<b>" + wname + "</b>");
document.write("<ol class=\"tabs\">");
var sel = wind["selected"];
var tabs = wind["tabs"];
for (var j = 0; j < tabs.length; j++) {
var tabclass = "tab"
if (j + 1 == sel) tabclass = "selectedtab"
dotab(tabs[j],"Tab #" + (j+1),tabclass);
}
var tablen = tabs.length;
tabs = wind["_closedTabs"];
for (var j = 0; j < tabs.length; j++) {
dotab(tabs[j]["state"],"Tab #" + (tablen + j + 1),"closedtab");
}
document.write("</ol>");
document.write("</li>");
}
function dotab(tab,tname,tclass) {
document.write("<li class=\"" + tclass + "\">");
document.write("<b>" + tname + "</b>");
document.write("<ul class=\"urls\">");
var sel = tab["index"];
var urls = tab["entries"];
for (var j = 0; j < urls.length; j++) {
var urlclass = "url"
if (j + 1 == sel) urlclass = "selectedurl"
dourl(urls[j],urlclass);
}
document.write("</ul>");
document.write("</li>");
}
function dourl(url,uclass) {
document.write("<li class=\"" + uclass + "\">");
var uname = url["title"];
if (!(uname) || uname == "") uname = url["url"];
document.write("<a href=\"" + url["url"] + "\">" + uname + "</a>");
document.write("</li>");
}
var data =
// insert .mozilla/firefox/*/sessionstore.js here !
;
var windows = data["windows"];
for (var i = 0; i < windows.length; i++) {
dowindow(windows[i],"Window #" + (i+1),"window");
}
</script>
</ul>
</body>
</html>
Ho capito che devo salvare questo codice (uno dei due) in un file html e lanciarlo con firefox, ma non ottengo risultati. Probabilmente perchè non gli passo il percorso giusto, in quanto non ho dimestichezza con queste cose...
Vi sarei estremamente grati se potesse aiutarmi
- qual è il percorso esatto (quello a partire da C: o da .mozilla, come sembra indicare il secondo file)?
- nel primo file (che è quello originale) si parla di passargli "il contenuto del sessionstore.js". Cos'è e come lo ottengo? Perchè il secondo file invece sembra indicare di immettere l'indirizzo del sessiostore.js (non del suo contenuto)?
- vanno usati / o\ nello scrivere il percorso?
(insomma, se potete fornirmi la riga così come la devo mettere per far funzionare il codice, indicandomi se devo andare a capo dopo l'"=" e prima del ";" come dice il secondo file insomma, oppure se come dice il primo l'istruzione di assegnazione va scritta su un'unica riga)
Ringrazio tutti
Salve
In seguito all'installazione di un plug-in ho dovuto riavviare Firefox, e non mi è stato possibile usare il ripristino di sessione (la finestra Oops... questo è imbarazzante mi è apparsa priva di schede)
Ho trovato il file sessionstore.js (è aggiornato all'ora che mi aspettavo, e non vuoto) che dovrebbe contenere le schede aperte prima del riavvio, e volevo tentare di recuperarne le url. Solo che non so come estrarlo. (a me si trova in C:\Users\NOMEUTENTE\AppData\Roaming\Mozilla\Firefox\Profiles\IDNUMERICO.default)
Allora, la procedura l'ho trovata, ed è indicata qui (http://blog.rot13.org/2009/02/restore_firefox_session_from_sessionstorejs.html), che riporto di seguito per semplicità:
Firefox stores session data (including back history!) in .mozilla/firefox/NUMERIC_ID.default/sessionstore.js and you can use html page generation javascript from ZeePrime@mozillaZine forums.
Il file da usare per l'estrazione è contenuto nel terzultimo post in questo forum (http://forums.mozillazine.org/viewtopic.php?t=622036), lo scrivo di seguito:
<html><head>
<style type="text/css">
a.selected, li.selectedtab { color: blue; font-weight: bold; }
li.closedtab { color: red; text-decoration: line-through; }
</style>
</head><body>
<ul id="windows">
<script type="text/javascript">
function dowindow(wind,wname,wclass) {
document.write("<li class=\"" + wclass + "\">");
document.write("<b>" + wname + "</b>");
document.write("<ol class=\"tabs\">");
var sel = wind["selected"];
var tabs = wind["tabs"];
for (var j = 0; j < tabs.length; j++) {
var tabclass = "tab"
if (j + 1 == sel) tabclass = "selectedtab"
dotab(tabs[j],"Tab #" + (j+1),tabclass);
}
var tablen = tabs.length;
tabs = wind["_closedTabs"];
for (var j = 0; j < tabs.length; j++) {
dotab(tabs[j]["state"],"Tab #" + (tablen + j + 1),"closedtab");
}
document.write("</ol>");
document.write("</li>");
}
function dotab(tab,tname,tclass) {
document.write("<li class=\"" + tclass + "\">");
document.write("<b>" + tname + "</b>");
document.write("<ul class=\"urls\">");
var sel = tab["index"];
var urls = tab["entries"];
for (var j = 0; j < urls.length; j++) {
var urlclass = "url"
if (j + 1 == sel) urlclass = "selectedurl"
dourl(urls[j],urlclass);
}
document.write("</ul>");
document.write("</li>");
}
function dourl(url,uclass) {
document.write("<li class=\"" + uclass + "\">");
var uname = url["title"];
if (!(uname) || uname == "") uname = url["url"];
document.write("<a href=\"" + url["url"] + "\">" + uname + "</a>");
document.write("</li>");
}
var data = <PUT CONTENTS OF sessionstore.js HERE!>;
var windows = data["windows"];
for (var i = 0; i < windows.length; i++) {
dowindow(windows[i],"Window #" + (i+1),"window");
}
</script>
</ul>
</body></html>
L'autore dice
Here's a "quick-and-dirty" approach to extracting info from your sessionstore.js file. Just replace the line "<PUT CONTENTS OF sessionstore.js HERE!>" with the contents of your sessionstore.js file and open this puppy in mozilla as a standard html file.
Un utente ha riscritto per maggior chiarezza il codice in questione in questo modo (lo ha indentato, e ha "cambiato nome alla riga da sostituire")
<html><head>
<style type="text/css">
a.selected, li.selectedtab { color: blue; font-weight: bold; }
li.closedtab { color: red; text-decoration: line-through; }
</style>
</head><body>
<ul id="windows">
<script type="text/javascript">
function dowindow(wind,wname,wclass) {
document.write("<li class=\"" + wclass + "\">");
document.write("<b>" + wname + "</b>");
document.write("<ol class=\"tabs\">");
var sel = wind["selected"];
var tabs = wind["tabs"];
for (var j = 0; j < tabs.length; j++) {
var tabclass = "tab"
if (j + 1 == sel) tabclass = "selectedtab"
dotab(tabs[j],"Tab #" + (j+1),tabclass);
}
var tablen = tabs.length;
tabs = wind["_closedTabs"];
for (var j = 0; j < tabs.length; j++) {
dotab(tabs[j]["state"],"Tab #" + (tablen + j + 1),"closedtab");
}
document.write("</ol>");
document.write("</li>");
}
function dotab(tab,tname,tclass) {
document.write("<li class=\"" + tclass + "\">");
document.write("<b>" + tname + "</b>");
document.write("<ul class=\"urls\">");
var sel = tab["index"];
var urls = tab["entries"];
for (var j = 0; j < urls.length; j++) {
var urlclass = "url"
if (j + 1 == sel) urlclass = "selectedurl"
dourl(urls[j],urlclass);
}
document.write("</ul>");
document.write("</li>");
}
function dourl(url,uclass) {
document.write("<li class=\"" + uclass + "\">");
var uname = url["title"];
if (!(uname) || uname == "") uname = url["url"];
document.write("<a href=\"" + url["url"] + "\">" + uname + "</a>");
document.write("</li>");
}
var data =
// insert .mozilla/firefox/*/sessionstore.js here !
;
var windows = data["windows"];
for (var i = 0; i < windows.length; i++) {
dowindow(windows[i],"Window #" + (i+1),"window");
}
</script>
</ul>
</body>
</html>
Ho capito che devo salvare questo codice (uno dei due) in un file html e lanciarlo con firefox, ma non ottengo risultati. Probabilmente perchè non gli passo il percorso giusto, in quanto non ho dimestichezza con queste cose...
Vi sarei estremamente grati se potesse aiutarmi
- qual è il percorso esatto (quello a partire da C: o da .mozilla, come sembra indicare il secondo file)?
- nel primo file (che è quello originale) si parla di passargli "il contenuto del sessionstore.js". Cos'è e come lo ottengo? Perchè il secondo file invece sembra indicare di immettere l'indirizzo del sessiostore.js (non del suo contenuto)?
- vanno usati / o\ nello scrivere il percorso?
(insomma, se potete fornirmi la riga così come la devo mettere per far funzionare il codice, indicandomi se devo andare a capo dopo l'"=" e prima del ";" come dice il secondo file insomma, oppure se come dice il primo l'istruzione di assegnazione va scritta su un'unica riga)
Ringrazio tutti