I think I just answered my own question: the two instances of the gadget remain linked. IF and only if both instances of the gadget load with the "new" domain.
On Jun 24, 8:34 am, skeeJay <[email protected]> wrote: > Smart work, String. And your workaround works well except in one > instance; because you're assigning an alias to a window object > property by setting window._IG_AdjustIFrameHeight, if more than one > instance of the gadget is embedded on a page, it causes the heights of > all the instances of the gadget to become linked; if one is resized, > they all resize. > > Would it be better in your workaround to reset, instead of this > window.property, the var itself by changing it to: > > if (!!gadgets && !!gadgets.window && !!gadgets.window.adjustHeight) > _IG_AdjustIFrameHeight = gadgets.window.adjustHeight; > > ? > > E > > On Jun 24, 4:20 am, String <[email protected]> wrote: > > > > > On Jun 24, 12:10 am, skeeJay <[email protected]> wrote: > > > > The problem is that when the gadget uses the new embedding method, it > > > breaks _IG_AdjustIFrameHeight. Consistently, every single time, the > > > gadget is incapable of resizing itself. > > > You're absolutely right. _IG_AdjustIFrameHeight is well and truly > > broken in syndication. I've been able to reproduce this for my own > > gadgets, and I'm posting my findings here in the hope of convincing > > Google that we aren't all just imagining this. > > > First, here are my URLs. > > The gadget I'm testing with:http://gad.getpla.net/feed/reader.xml > > A syndicated page where you can find it:http://gad.getpla.net/feed/ > > Just to be clear, the issue is that its iframe should adjust in size > > to nicely fit the retrieved feed content, and half the time it > > doesn't. Refresh the page a few times if you need to, until the feed > > content in the gadget is cut off. > > > As skeeJay said, it's definitely linked to the domain from which the > > gadget iframe is served. Digging into the API's JS code, I find that > > the new (broken) domain is actually defining _IG_AdjustIFrameHeight > > TWICE. First is this: > > > var _IG_AdjustIFrameHeight = gadgets.window.adjustHeight; > > > Looks fine, it's just being set up as an alias for the gadgets.* > > equivalent. But then later in the iframe source is another definition, > > which looks like this (de-obfuscated for clarity): > > > _IG_AdjustIFrameHeight = function(opt_height) { > > if(typeof opt_height != "undefined") { > > gadgets.window.adjustHeight(opt_height); > > } > > > }; > > > Notice anything funny there? In the second definition (which replaces > > the first), _IG_AdjustIFrameHeight expects to be passed the target > > height - and if it's not, the underlying gadgets.window.adjustHeight > > never gets called. Is it any surprise that our (parameter-less) calls > > to _IG_AdjustIFrameHeight aren't working? What was Google thinking, > > releasing code like this into production? > > > Fortunately, there is an easy workaround: simply redo the alias > > yourself. Insert this code before your first call to > > _IG_AdjustIFrameHeight: > > > if (!!gadgets && !!gadgets.window && !!gadgets.window.adjustHeight) > > window._IG_AdjustIFrameHeight = gadgets.window.adjustHeight; > > > This seems to work on both the old and new domains. I suggest adding > > this to any dynamic-height gadgets in syndication until Google either > > fixes the gadgets.* platform or rolls us back to Legacy. > > > FWIW, I'm not seeing this erroneous second definition on iGoogle, > > either in the sandbox or the live page. IOW, this isn't the same > > problem that's plaguing _IG_AdjustIFrameHeight on iGoogle. Maybe I'll > > dig into that one next. :^) > > > String --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
