Dear All,

 

We have been testing our Shindig implementation under different browsers and
have noticed errors, specifically under Internet Explorer, when moving
gadgets to different positions on the page. These errors appear to reference
back to Shindig code.

 

Below are our test steps:-

 

1- Using Internet Explorer (ideally IE8 if installed) browse to
http://beta.blueg.com/personal/ and click the resulting Create Home Page
dialog's "See my page" button. Initially you will see 5 default gadgets.

 

2- To reproduce the issue most clearly, delete the gadgets 'Flixter Movies'
and 'Facebook for iGoogle'.

 

3- Now try moving each gadget from one column to another and do this a
number of times. For major browsers except for Internet Explorer this
sequence of actions will be completed without error. However, Internet
Explorer will throw various kinds of javascript errors originating in our
copy of Shindig.

 

For example if you drag the Wikipedia gadget to different columns several
times you will get a variety of errors including the following:-

 

a) 'Error: 'unescape' is undefined'

b) Error: Unable to get property 'prototype' of undefined or null reference

c) Error: Unable to get property 'setMessages_' of undefined or null
reference

d) Error: Object doesn't support this action

e) Error: Object doesn't support property or method 'runOnLoadHandlers'

 

Similar errors seem to be grouped together except for d) above (where
'Error: 'String' is undefined') - you can see this particular error if you
drag and drop the Date & Time gadget.

 

Could Shindig Javascript API be specifying a requirement which cannot be
handled by IE?

 

Below is the relevant code snippet that renders the gadget's iFrame inside
the specified HTML item. The necessary js client code you can also see at
gadget.js and gadgetPreference.js

 

CommonContainer.renderGadget = function (gadget, contentHolder,
userPreference) {

    var gadgetURL = gadget.Url;

    var el = $(contentHolder).get(0);

    var params;

 

    if (userPreference == null) {

        params = { userPrefs: cacheDefaultUserPreference[gadgetURL] };

        gadget.SaveGadget(cacheDefaultUserPreference[gadgetURL]);

    } else {

        params = { userPrefs: userPreference };

    }

 

    params["view"] = "home";

 

    if (gadget.ViewType == GadgetViewTypes.Canvas) {

        params["view"] = "canvas";

    }

 

    params[osapi.container.RenderParam.WIDTH] = '100%';

    var gadgetSite = CommonContainer.newGadgetSite(el);

    CommonContainer.navigateGadget(gadgetSite, gadgetURL, {}, params);

    defaultUserPreference = {};

 

    return gadgetSite;

};

 

Any help is much appreciated.

 

Kind regards,

 

Darren

Reply via email to