12/01/09 17:19
peroncina
sto sviluppando un'estensione di firefox di google calendar, ho inserito un options nella quale scrivere l'url per poter usare l'estensione con ogni calendario di google, ma c'è qualcosa che non va... funziona solo con il mio url!!! chi può aiutarmi? Manca un qualsiasi controllo sulla correttezza formale dell'indirizzo immesso, chi sa farlo? Aiutatemi!!!
l'implementazione è:
var Calendario_gPrefService = Components.classes["@mozilla.org/preferences-service;1"].getService( Components.interfaces.nsIPrefBranch);
function getCalendarURL() {
// Se getPrefType ritorna 0 come valore, vuol dire che la preferenza non esiste
if (Calendario_gPrefService.getPrefType("calendario.c alendar.url" == 0) {
alert("Impossibile procedere.\nNessun calendario impostato nelle opzioni"
return null;
}
return Calendario_gPrefService.getCharPref("calendario.ca lendar.url"
}
l'interfaccia è:
xml version="1.0"?>
xml-stylesheet href="global/skin/…; type="text/css"?>
<!DOCTYPE overlay SYSTEM "calendario/locale/…;
<prefwindow id="Calendario_Options"
xmlns="mozilla.org/keymaster/gatekeeper/ there.is.only.xul"
title="&titolo_opzioni;">
<prefpane id="generalPane">
<preferences>
<preference id="calendarUrl"
name="calendario.calendar.url"
type="string"/>
</preferences>
<hbox>
<label value="&label_url;" />
<textbox id="tbox" preference="calendarUrl" label="Url Calendario: " size="80" />
</hbox>
</prefpane>
</prefwindow>
l'implementazione è:
var Calendario_gPrefService = Components.classes["@mozilla.org/preferences-service;1"].getService( Components.interfaces.nsIPrefBranch);
function getCalendarURL() {
// Se getPrefType ritorna 0 come valore, vuol dire che la preferenza non esiste
if (Calendario_gPrefService.getPrefType("calendario.c alendar.url" == 0) {
alert("Impossibile procedere.\nNessun calendario impostato nelle opzioni"
return null;
}
return Calendario_gPrefService.getCharPref("calendario.ca lendar.url"
}
l'interfaccia è:
xml version="1.0"?>
xml-stylesheet href="global/skin/…; type="text/css"?>
<!DOCTYPE overlay SYSTEM "calendario/locale/…;
<prefwindow id="Calendario_Options"
xmlns="mozilla.org/keymaster/gatekeeper/ there.is.only.xul"
title="&titolo_opzioni;">
<prefpane id="generalPane">
<preferences>
<preference id="calendarUrl"
name="calendario.calendar.url"
type="string"/>
</preferences>
<hbox>
<label value="&label_url;" />
<textbox id="tbox" preference="calendarUrl" label="Url Calendario: " size="80" />
</hbox>
</prefpane>
</prefwindow>
aaa