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
