I've now noticed that what appears to be saved, may not be what I
intended.  What is returned from prefs.getArray is a DocumentFragment
as expected, but it doesn't have any childNodes, which is unexpected.
Not sure how to view exactly what info is in there, but it doesn't
seem to be complete.


On Sep 24, 12:42 pm, jamim <[EMAIL PROTECTED]> wrote:
> Ya, I did create a new instance of the _IG_Prefs class at the
> beginning of my script.
>
> I tried setting the prefs array like you recommended - with the entire
> array and not each individual element but it didn't work either.
> Looks like that way, the array isn't even saved when I click on
> another tab and then back to the Playlist tab (the way it was working
> previously).
>
> I had though that the items would be added to the array individually
> based on the documentation 
> here:http://code.google.com/apis/gadgets/docs/legacy/fundamentals.html#list
> specifically, this line "For example, the following excerpt adds the
> values "Nokia" and "CNET" to the list: " when read in context, seemed
> to imply that.
>
> On Sep 24, 12:11 pm, Matt Foster <[EMAIL PROTECTED]> wrote:
>
> > You probably have done this as you noted it in the subject, but i
> > didn't see it in the code.  Although prefs is used throughout the
> > entire documentation, it is not actually a global variable in the
> > gadget environment.  It is an instance of the _IG_Prefs class.
>
> > var prefs = new _IG_Prefs();  // as noted you probably know this but
> > just covering the bases.
>
> > Where I think your real problem lies is in the prefs.setArray
> > execution.  It is expecting to receive the entire array, where you're
> > iterating over that array and sticking each item inside, this is in
> > essence overwriting the last value each iteration, not to mention the
> > fact that its the wrong data type, its expecting an array.
>
> > prefs.setArray("songArray", songArr);
>
> >http://code.google.com/apis/gadgets/docs/legacy/reference.html#Core
>
> > On Sep 23, 3:32 pm, jamim <[EMAIL PROTECTED]> wrote:
>
> > > I'm trying to save an array, and it is saving if I click on another
> > > tab and then back to this "Playlist" tab, but when the page is
> > > refreshed (and this tab is on a timer to refresh every 30 seconds) the
> > > array is lost.  The data that populates the array is retrieved from an
> > > xsl file and each element is a DocumentFragment (a fragment of a
> > > document tree). Here's my code:
>
> > > var xsltProcessor = new XSLTProcessor();
> > > xsltProcessor.importStylesheet(xsl);
> > > var song = xsltProcessor.transformToFragment(xml,document);
> > > songArr = prefs.getArray('songArray');
>
> > > // if there are already songs in array
> > > if(songArr.length > 0)
> > > {
> > >         var last_song = songArr.slice(songArr.length-1);
>
> > >         // if new song isn't already in array
> > >         if(last_song.childNodes[2].textContent !=
> > > song.childNodes[2].textContent)
> > >         {
> > >                 if(songArr.length != 5)         // if array isn't "full"
> > >                 {
> > >                         songArr.push(song);
> > >                 }
> > >                 else
> > >                 {
> > >                         songArr.shift();
> > >                         songArr.push(song);
> > >                 }
> > >         }}
>
> > > else    // array is empty
> > > {
> > >         songArr.push(song);}
>
> > > document.getElementById(id).innerHTML = "";
> > > for(i=0; i<songArr.length; i++)
> > > {
> > >         document.getElementById(id).appendChild(songArr[i]);
> > >         prefs.setArray('songArray', songArr[i]);
>
> > > }
>
> > > As of now, only one song is ever getting output.  I'm trying to output
> > > 5.  The complete code for the gadget is 
> > > here:http://kexp-developing-gadget.googlecode.com/svn/trunk/kexp_rss_gadge...
>
> > > Thanks.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"iGoogle Developer Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/Google-Gadgets-API?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to