Hi Arne,
You're welcome :)
I actually cleared my browser's cache but still wouldn't work. I
needed to use this solution in Orkut.
João
On Mar 25, 7:20 pm, "Arne Roomann-Kurrik" <[EMAIL PROTECTED]>
wrote:
> Hi João,
>
> Thanks for posting this code. Is this on orkut, though? Orkut doesn't
> cache .js files that you include in <script> tags. Try turning off your
> browser's cache to see updates each time.
>
> ~Arne
>
> On Tue, Mar 25, 2008 at 10:45 AM, João Ribeiro <[EMAIL PROTECTED]> wrote:
>
> > Dear all,
>
> > I came across a caching problem while developing open social
> > applications.
> > I included a .js file like this in my widget xml file:
> > <script src="host/bogusWidget.js"></script>
>
> > Every time I changed some code on bogusWidget.js file, the change
> > wasn't immediatly reflected so I needed to wait for the cached request
> > to clear.
>
> > This is the workaround I build for this, maybe it can help others with
> > the same problem.
>
> > Here's a complete widget definition including a bogusWidget,js file
> > that never gets cached:
>
> > <?xml version="1.0" encoding="UTF-8"?>
> > <Module>
> > <ModulePrefs title="Bogus Widget">
> > <Require feature="opensocial-0.7"/>
> > </ModulePrefs>
> > <Content type="html">
> > <![CDATA[
>
> > <script>
>
> > function include_dom(script_filename) {
> > var html_doc = document.getElementsByTagName('head').item(0);
> > var js = document.createElement('script');
> > js.setAttribute('language', 'javascript');
> > js.setAttribute('type', 'text/javascript');
> > js.setAttribute('src', script_filename);
> > html_doc.appendChild(js);
> > return false;
> > };
>
> > function includeScript(url) {
> > var refreshInterval=0;
> > var ts = new Date().getTime();
> > var sep = "?";
> > if (refreshInterval && refreshInterval > 0) {
> > ts = Math.floor(ts / (refreshInterval * 1000));
> > }
> > if (url.indexOf("?") > -1) {
> > sep = "&";
> > }
> > url = [ url, sep, "nocache=", ts ].join("");
>
> > include_dom(url);
> > }
>
> > includeScript("host/bogusWidget.js"); //Use this function
> > instead of <script src="host/bogusWidget.js">
>
> > </script>
> > <script>
> > gadgets.util.registerOnLoadHandler(init); //Calling init
> > method defined somewhere in bogusWidget.js file
> > </script>
> > ]]>
> > </Content>
> > </Module>
>
> > I hope this helps, its a solution mixing some DOM manipulation and the
> > caching workround found in the API documentation for
> > gadgets.io.makeRequest() return values.
>
> > Best regards,
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"OpenSocial Application Development" 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/opensocial-api?hl=en
-~----------~----~----~----~------~----~------~--~---