I think the reason the iframe src gets set to about:blank is to work around an 
issue with the bfcache (back-forward cache) in some browsers -- have a look at 
the comments for this JIRA issue for a detailed discussion:

https://issues.apache.org/jira/browse/SHINDIG-158

The iframe disappearing issue seems odd though.  In our container we also use 
jquery sortable for drag and drop and use the about:blank technique to work 
around the bfcache issue -- and we haven't seen the issue you're describing in 
any browser.  One thing I have observed though which might be relevant is that 
on drop (at least in firefox) it insists on reloading the *first* url that was 
set after about:blank.  So for example -- if we were to render the iframe 
initially with "about:blank", then set the src of that iframe to our gadget 
rendering url, then subsequently set the src to google.com and then drag and 
drop -- on drop it would reload the gadget rendering url and not google.com.
 
One other thing to be aware of -- if you have any JavaScript inside script tags 
nested somewhere within the hierarchy of the element that gets 
detached/reattached to the DOM during the drag and drop, in some browsers that 
script will get re-executed on drop.

--Jesse

-----Original Message-----
From: Xandeco, Maxwell [mailto:maxwell.xand...@gft.com] 
Sent: Thursday, January 06, 2011 11:57 AM
To: dev@shindig.apache.org
Subject: RES: Writing an interface with drag/drop support.

Reload the iframe it's the natural behavior of firefox and google chrome, it's 
not a problem, the problem is when shinding render the iframe, does not include 
the gadget url in the iframe, like:

<iframe src="about:blank"/>

That's what shindig does by default, you can see on 
shindig.IfrGadget.getMainContent, it's setting the src to about:blank, I just 
did override this method and changed to src= this.getIframeUrl().

Worked for me, I just did not understand why shindig set to blank.

Thanks

________________________________________
De: Pablo Graña [pablo.gr...@globant.com]
Enviado: quinta-feira, 6 de janeiro de 2011 14:04
Para: dev@shindig.apache.org
Assunto: Re: Writing an interface with drag/drop support.

Your problem is that the gadget renders itself again after you drop
it? As far as I known this also happens in igoogle, when the gadget
renders in an iframe (some igoogle gadgets render inline).

I think that this happens because when you drag a gadget, jquery
detaches it from its parent div, and when you drop it, it re-attaches
the gadget to another div. This makes the iframe base element to
change its value and forces the iframe to refresh its content. The
weird thing about it is that this does not happen in ie.

I could not find a way to avoid this behaviour, so I am now living with it.

regards

On Thu, Jan 6, 2011 at 11:15 AM, Xandeco, Maxwell
<maxwell.xand...@gft.com> wrote:
> Hi guys, i'm trying to create a "igoogle like" interface, I just added drag 
> and drop support using jquery sortable feature it's working pretty well, but 
> after drop the gadget in the new area, the iframe disapper in firegox, 
> because firefox try reload the iframe after the drop.
>
>
>
> After a short debug using firebug and igoogle , i realized that the problem 
> is, when my server (shindig without mods) render the gadget it set the src 
> attribute in the iframe as "about:blank" and google use the ifr link, like 
> http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&exp_track_js=1&url=http%3A%2F%<http://www.ig.gmodules.com/gadgets/ifr?exp_rpc_js=1&exp_track_js=1&url=http%3A%2F%2Fhosting.gmodules.com%2Fig%2Fgadgets%2Ffile%2F100816590802129143348%2FhelloNishant.xml&container=ig&view=default&lang=pt-br&country=BR&v=ebfb342224565688&parent=http://www.google.com.br&libs=core:core.io:core.iglegacy:auth-refresh&is_signedin=1&synd=ig&view=default#st=c%3Dig%26e%3DAPu7icqTjfqUxN02J/K9K%252BZLn2Eqx%252BsWQqxzagry5fVZSLusOcel23C5G8xMAL8MZNVoqnK56SrkMsj5bAep5TV%252BtYTN7xCO0/apbdnvzTfvkmvSnFbClTLt4X5qJ1%252Be72QQLgq/JbYz&gadgetId=112755416542104557542&gadgetOwner=111346446497480925725&gadgetViewer=111346446497480925725&rpctoken=1634651312&ifpctok=1634651312>
>  [MORE_HERE].
>
>
>
> So why shindig it's not including the ifr url for my gadget in the rendering 
> process automatically, should I do that manually, in javascript container or 
> java servlets?
>
>
>
> Thanks
>



--
Pablo Gra\~na
Chief Architect
Globant
Arg Office: +54 (11) 4109 1743
UK  Office: +44 (20) 7043 8269 int 8043
US  Office: +1 (212) 400 7686 int 8043

Reply via email to