Visualizzazione risultati 1 fino 10 di 10

Discussione: [estensioni firefox] menu a tendina

  1. #1
    Guest

    Predefinito [estensioni firefox] menu a tendina

    salve a tutti ho bisogno di aiuto, devo modificare un menu di un mio progetto, ma non ci riesco.
    Chi sa modificarmi questo codice in un menu a tendina?

    Codice:
    <overlay id="calendario_overlay" 
      xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    
    <script src="calendario.js" />
    
     <statusbar id="status-bar">
          <statusbarpanel class="statusbarpanel-menu-iconic"  src="chrome://calendario/skin/icona.png">
                   		<menupopup>
    						<menuitem id="calendario-main-state" label="&calendario_activate;" oncommand="activate();" />
    						<menuitem id="calendario-main-state" label="&calendario_activate2;" oncommand="activate2();" />
    						<menuitem id="calendario-open-google" label="Vai al Primo Calendario" oncommand="openGoogle();" />
    						<menuitem id="calendario-open-google" label="Vai al Secondo Calendario" oncommand="openGoogle2();" />
    						<menuitem id="calendario-open-google" label="Effettua il login al Primo Calendario" oncommand="login();" />
    						<menuitem id="calendario-open-google" label="Effettua il login al Secondo Calendario" oncommand="login2();" />
       			</menupopup>
    	
    </statusbar>
    </overlay>

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Per "menu a tendina" intendi qualcosa di simile al menu "Vai al forum" che trovi in basso a questa pagina?

    Prova a vedere se ritrovi l'esempio nella XUL Periodic Table (sezione Popups)...
    Nota: il link funzionerà solo con Firefox

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    grazie mille per l'aiuto, ho trovato quello che fa al caso mio, davvero interessante il link....
    avrei bisogno di un altro aiuto se è possibile....
    ho scritto una funzione in javascript (sempre per la mia estensione) che mi carica gli eventi che ho nel calendario, ma quando si apre la finestra li visualizza in ordine sparso, vorrei visualizzarli in ordine cronologico in base alla data. come faccio ad avere questo? chi mi corregge questo codice?
    Codice:
     function loadEvents()
    {
        var xmlhttp = new XMLHttpRequest();
        
        //controlla se è supportato il parametro .overrideMimeType ed eventualmente lo imposta con 'text/xml'.
        //Alcune versioni di Mozilla hanno comportamenti strani se non dal server non arriva una risposta
        //in formato XML, e per forzare questo si usa il parametro .overrideMimeType
       // if (xmlhttp.overrideMimeType) {
        //            xmlhttp.overrideMimeType('text/xml');
        //        }
        
        //var url2 = "http://www.google.com/calendar/feeds/9tr6da5iqn6aqtlp7k59dcpg30%40group.calendar.google.com/public/full";
    	//var url3 = "http://www.google.com/calendar/embed?src=9tr6da5iqn6aqtlp7k59dcpg30%40group.calendar.google.com"
    	var url = getCalendarURL();
    	url = url.replace("http://www.google.com/calendar/embed?src=","http://www.google.com/calendar/feeds/");
    	url = url.concat("/public/full");
    	// window.alert( url + "\n" + url2 + "\n" + url3 );
        xmlhttp.onreadystatechange = onReady;
        xmlhttp.open('GET', url, true);
        xmlhttp.send('');
        function onReady() {
            var dom, entries, gdNamespace, entry, entryTitle, entryStartDate, entryEndDate, container, html, i, win;
            
            if (xmlhttp.readyState == 4){
                if (xmlhttp.status == 200) {
                    dom = xmlhttp.responseXML;
                    entries = dom.getElementsByTagName("entry");
                    gdNamespace = "http://schemas.google.com/g/2005";
                    html = "";
                    for (i=0; i<entries.length;i++) {
                        entry = entries[i];
                        entryTitle = entry.getElementsByTagName("title")[0].textContent;
                        entryStartDate = entry.getElementsByTagNameNS(gdNamespace,"when")[0].getAttribute("startTime");
                        entryEndDate = entry.getElementsByTagNameNS(gdNamespace,"when")[0].getAttribute("endTime");
                        container = document.getElementById("container");
                        html += "<p><b>Nome evento: "+entryTitle+"</b><br>Orario inizio: "+entryStartDate+"<br>Orario fine: "+entryEndDate+"</p>";
                    }
                    
                    container.innerHTML = html;
                    
                }
                else {
                    container = document.getElementById("container");
                    html = "<p>Impossibile acquisire il feed, errore: "+xmlhttp.statusText+"</p>";
                    container.innerHTML = html;
                    
                }
                
            }
            
        }
    }

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    A dir la verità l'ordine in cui ti sono restituiti i feed dal calendario dovrebbe essere per data di inserimento nel calendario. Immagino che invece tu li voglia ordinati per data di inizio dell'evento, giusto?

    A grandi linee, dovresti fare così:
    - ad ogni ciclo di acquisizione, non inserire direttamente in codice quello che trovi, ma memorizza i dati grezzi che ti servono in un array
    - terminato questo ciclo, ordina questo array per data di acquisizione (ti potrebbe servire trasformare il valore della data in un numerico, prova con new Date (entryStartDate).valueOf ()
    - infine, esegui un nuovo ciclo in cui comporrai il codice HTML per stamparlo nell'ordine richiesto

    Se non ti è chiaro, fammi sapere che provo a scrivere due linee di codice...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    Guest

    Predefinito

    ho provato ad aggiustare il codice ma con scarsi risultati... non ho capito bene!!!
    potresti scrivermi le le linee di codice lì dove vanno aggiungente?
    per quanto riguarda il file html io ho scritto questo:
    Codice:
    <html>
    <head>
      <title>Primo Evento</title>
    </head>
    <script type="application/x-javascript" src="calendario.js"></script>
    <body bgcolor="#FFFFDD" onload="loadEvents()">
    <div id="container"></div>
    </body>
    </html>
    va bene o si deve modificare anche questo?

  6. #6
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Il codice HTML dovrebbe andar bene, quello che dovresti modificare è questo:
    Codice:
                if (xmlhttp.status == 200) {
                    dom = xmlhttp.responseXML;
                    entries = dom.getElementsByTagName("entry");
                    gdNamespace = "http://schemas.google.com/g/2005";
                    var events = new Array ();
                    for (i=0; i<entries.length;i++) {
                        events[i] = new Array ();
                        entry = entries[i];
                        events[i]['entryTitle'] = entry.getElementsByTagName("title")[0].textContent;
                        events[i]['entryStartDate'] = entry.getElementsByTagNameNS(gdNamespace,"when")[0].getAttribute("startTime");
                        events[i]['entryEndDate'] = entry.getElementsByTagNameNS(gdNamespace,"when")[0].getAttribute("endTime");
                        events[i]['dateHash'] = new Date (events[i]['entryStartDate']).valueOf ();
                    }
                    events.sort (function (a, b) {
                        return a['dateHash'] - b['dateHash'];
                    });
                    for (var i = 0; events[i]; i++)
                        html += "<p><b>Nome evento: "+events[i]['entryTitle']+"</b><br>Orario inizio: "+events[i]['entryStartDate']+"<br>Orario fine: "+events[i]['entryEndDate']+"</p>";
                    
                    container.innerHTML = html;
                    
                }
    Spero di averlo scritto giusto... Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  7. #7
    Guest

    Predefinito

    ho cambiato il codice nel file.js e l'ho corretto, installando l'estensione e schiacciando il bottone visualizza evento non mi da più nulla

  8. #8
    Guest

    Predefinito

    chi mi aiuta... cambiando il codice in questo modo mi visualizza una finestra priva di eventi... come devo fare?

  9. #9
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Hai una demo dell'estensione che possa essere modificata? Smanettando un po' forse posso concludere di più che basandomi su congetture...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  10. #10
    Guest

    Predefinito mappe di google

    dopo tanto tempo riscrivo sullo stesso argomento.
    Nella stessa estensione avrei bisogno di un aiuto nell'inserimento della mappa di googlemaps nella mia estensione.

    Dovrei inserire testo evento + link e l'ho fatto tramite due statuspanel e a questi ho associato onclick="window.open('www.repubblica.it');" 2 perchè per 2 mappe su 2 eventi

    Per la mappa vorrei posizionarmi sul link e far uscire la miniatura(questo e' piu' complesso, si tratta di aprire una pagina HTML che richiama gmap sull'onhover)
    Chi sa aiutarmi?
    A chi potrei mandare una demo per un eventuale aiuto?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •