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