Yeah that's not supported. I'm not completely sure where the expansion for
_IG_FetchFeedAsJSON is coming from when you're calling it from GreaseMonkey.
But if you're doing a GreaseMonkey script you might be able to find a better
(more reliable or faster) way to have the browser fetch your feed.

Rob Russell
Google Developer Relations


On Wed, May 12, 2010 at 5:43 AM, Matt (Guru) <[email protected]>wrote:

> On May 11, 9:21 pm, Rob Russell <[email protected]> wrote:
> > I just made a gadget with the example source code from the page you
> linked
> > to. It seems to work fine (I set it to 12 items and added dynamic height
> so
> > they didn't get trimmed). I tested in Firefox 3.6 and Chrome on Linux.
> Are
> > you still having problems with it?
>
> Ah, it's not as simple as I thought it was. Inside gadgets, it works
> fine. In my specific case, I am calling _IG_FetchFeedAsJSON inside of
> a Greasemonkey script. I realize this isn't something you probably
> support, but here's a test...
>
> When in iGoogle, just go to this url:
>
> javascript:_IG_FetchFeedAsJSON("http://feeds.gawker.com/lifehacker/
> excerpts.xml <http://feeds.gawker.com/lifehacker/%0Aexcerpts.xml>
> ",function(data){alert(data.Entry.length);},50);
>
> This will only give you 9 entries back. The FetchFeedAsJSON() method
> in the containing page apparently isn't respecting the passed-in
> number of items to retrieve.
>
> If you inspect the functions, they are actually different. In the
> iGoogle container:
>
> function _IG_FetchFeedAsJSON(a, b, c, d, e) {
>    if (typeof e != "object") {
>        e = {};
>    }
>    var f = "fr_" + ig_ib++;
>    a = "url=" + _esc(a);
>    if (!isNaN(e.refreshInterval) && e.refreshInterval >= 0) {
>        a = _appendMaxAgeParameter(a, e.refreshInterval);
>    }
>    if (c) {
>        a += "&val=" + _esc(c);
>    }
>    if (d) {
>        a += "&sum=1";
>    }
>    c = f + ("=" + _esc(a));
>    if (ig_hb) {
>        d = {};
>        d[f] = b;
>        ig_gb(c, d);
>    } else {
>        if (ig_J != "") {
>            ig_J += "&";
>        }
>        ig_J += c;
>        ig_K[f] = b;
>    }
> }
>
> and within a gadget iframe:
>
> function _IG_FetchFeedAsJSON(B, F, C, A, D) {
>    var E = D || {};
>    E.CONTENT_TYPE = "FEED";
>    E.NUM_ENTRIES = C;
>    E.GET_SUMMARIES = A;
>    gadgets.io.makeRequest(B, function (J) {J.data = J.data || {};if
> (J.errors && J.errors.length > 0) {J.data.ErrorMsg = J.errors[0];}if
> (J.data.link) {J.data.URL = B;}if (J.data.title) {J.data.Title =
> J.data.title;}if (J.data.description) {J.data.Description =
> J.data.description;}if (J.data.link) {J.data.Link = J.data.link;}if
> (J.data.items && J.data.items.length > 0) {J.data.Entry =
> J.data.items;for (var H = 0; H < J.data.Entry.length; ++H) {var I =
> J.data.Entry[H];I.Title = I.title;I.Link = I.link;I.Summary =
> I.summary || I.description;I.Date = I.pubDate;}}for (var G = 0; G <
> J.data.Entry.length; ++G) {var I = J.data.Entry[G];I.Date = I.Date /
> 1000;}F(J.data);}, E);
> }
>
> Unfortunately, in the container, the gadgets.io.makeRequest() method
> isn't implemented.
>
> Matt Kruse
>
> --
> 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]<google-gadgets-api%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/Google-Gadgets-API?hl=en.
>
>

-- 
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