Darren, unfortunately your team might have to do some debugging here
to figure out exactly what is wrong.  I have no doubt that some of
these may be bugs in Shindig.  I pointed you to the locations of some
of the code below to get you started.  I am sure people on the list
will be happy to help if you have any questions about the
functionality of the Shindig code and as always we are always willing
to accept code contributions that fix any bugs.  It is hard to really
come to any conclusions even with the additional information below
without debugging your container and the best people to do that are
your developers.  I hope this at least gets you going in the right
direction.

On Tue, Nov 12, 2013 at 2:14 PM, Darren Bond <db...@globalcad.com> wrote:
> Hi Ryan,
>
> Please find below further details relating to the Shindig javascript files.
> Does this help?
>
> a) 'Error: 'unescape' is undefined'
> line
> var unesc = window.decodeURIComponent ? decodeURIComponent : unescape;
> within a function gadgets.util.getUrlParameters of the file
> http://shindig.blueg.com/shindig/gadgets/js/core:container:rpc:selection:vie
> ws:actions.js?c=1&debug=1&container=default
Could be coming from
https://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/core.util.urlparams/urlparams.js
or 
https://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/shindig.uri/uri.js.
 Looks like IE should support window.decodeURIComponent [1], is the
page in standards mode?
>
> b) Error: Unable to get property 'prototype' of undefined or null reference
> within a function gadgets.Prefs.prototype.set of the file
> http://shindig.blueg.com/shindig/gadgets/js/dynamic-height:setprefs:core:min
> imessage!core:rpc.js?container=defailt&nocache=0&debug=1&c=0

Probably coming from
https://svn.apache.org/repos/asf/shindig/trunk/features/src/main/javascript/features/core.prefs/prefs.js

>
> c) Error: Unable to get property 'setMessages_' of undefined or null
> reference
> line
> gadgets.Prefs.setMessages_
> of the file
> http://shindig.blueg.com/shindig/gadgets/ifr?url=http://gadgetsdev.blueg.com
> /standard/date-time/date-time.xml&container=default&view=home&lang=en&countr
> y=en-GB&debug=1&nocache=1
>

Is the gadget using message bundles?  Looks like this javascript would
be injected into the gadget from the server in
RenderingGadgetReWriter.  It is not clear to me why the Prefs property
is undefined.

> d) Error: Object doesn't support this action
> line
>  String.prototype.capitalize = function () {
>       return this.replace(/(^|\s)([a-z])/g, function (fullMatch, space,
> firstChar) {
>             return space + firstChar.toUpperCase()
>       })
> };
> of the file
> http://shindig.blueg.com/shindig/gadgets/ifr?url=http://gadgetsdev.blueg.com
> /standard/date-time/date-time.xml&container=default&view=home&lang=en&countr
> y=en-GB&debug=1&nocache=1

This looks like an error coming from the gadget.  I don't see this
code in Shindig.

>
> e) Error: Object doesn't support property or method 'runOnLoadHandlers'
> <script>gadgets.util.runOnLoadHandlers();</script>
> of the file
> http://shindig.blueg.com/shindig/gadgets/ifr?url=http://gadgetsdev.blueg.com
> /standard/date-time/date-time.xml&container=default&view=home&lang=en&countr
> y=en-GB&debug=1&nocache=1

This one I am also at a loss for.  The runOnLoadHandlers should be
defined in the gadgets.util namespace.

>
> Kind regards,
>
> Darren
>
>

[1] http://msdn.microsoft.com/en-us/library/ie/91b80x6x(v=vs.94).aspx

> -----Original Message-----
> From: Ryan Baxter [mailto:rbaxte...@apache.org]
> Sent: 11 November 2013 22:43
> To: dev@shindig.apache.org
> Subject: Re: Gadget Property Errors - Internet Explorer
>
> Darren, it is entirely possible that we have some JavaScript in the
> Shindig code that will break in IE.  None of these stand out as known
> issues to me personally and we are using the client side JavaScript
> from Shindig in an application that runs on IE8.  What I suggest is
> narrowing down where in the Shindig code these errors are coming from
> and people on the dev list can make better suggestions as to what the
> problem may be.
>
> On Mon, Nov 11, 2013 at 1:51 PM, Darren Bond <db...@globalcad.com> wrote:
>> 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