Account Options

  1. Sign in
The old Google Groups will be going away soon.
Switch to the new Google Groups.
Google Groups Home
« Groups Home
IE8 problem when used with jQuery
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  3 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Ole Laursen  
View profile  
 More options Apr 15 2009, 2:01 pm
From: Ole Laursen <o...@iola.dk>
Date: Wed, 15 Apr 2009 11:01:25 -0700 (PDT)
Local: Wed, Apr 15 2009 2:01 pm
Subject: IE8 problem when used with jQuery
Hi!

I got a bug report some time ago with Excanvas and IE8 when a canvas
is created and manipulated inside a jQuery document ready handler.
Here's the report with analysis:

  http://code.google.com/p/flot/issues/detail?id=133

The problem appears to be that G_vmlCanvasManager (which is needed to
add a canvas dynamically) is not properly setup until after init_ is
run. And init_ is run with an onreadystatechange event handler which
according the reporter is too late in IE8 standards mode (i.e. the
jQuery document ready handler is run before it).

Wouldn't it be possible to run the namespace and stylesheet changes
immediately so only the init element loop

      var els = doc.getElementsByTagName
('canvas');
      for (var i = 0; i < els.length; i++)
{
        this.initElement(els
[i]);
      }

is deferred to onreadystatechange?

I've just tested it and it seems to work in IE6. With all the uses
I've seen of excanvas, it seems harmless?

Ole


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Steve Clay  
View profile  
 More options Apr 15 2009, 3:01 pm
From: Steve Clay <st...@mrclay.org>
Date: Wed, 15 Apr 2009 15:01:35 -0400
Local: Wed, Apr 15 2009 3:01 pm
Subject: Re: IE8 problem when used with jQuery

Ole Laursen wrote:
> The problem appears to be that G_vmlCanvasManager (which is needed to
> add a canvas dynamically) is not properly setup until after init_ is
> run. And init_ is run with an onreadystatechange event handler which
> according the reporter is too late in IE8 standards mode

Hmm, unless every JS library switches to using onreadystatechange for
IE8 (or users poll until their canvas elements have getContext), this
could become a big problem, no?

Could we allow the user to call init_ and make sure it only runs once?

--
Steve Clay
http://mrclay.org/


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Ole Laursen  
View profile  
 More options Apr 28 2009, 1:34 pm
From: Ole Laursen <o...@iola.dk>
Date: Tue, 28 Apr 2009 10:34:42 -0700 (PDT)
Local: Tues, Apr 28 2009 1:34 pm
Subject: Re: IE8 problem when used with jQuery
On Apr 15, 9:01 pm, Steve Clay <st...@mrclay.org> wrote:

> Ole Laursen wrote:
> > The problem appears to be that G_vmlCanvasManager (which is needed to
> > add a canvas dynamically) is not properly setup until after init_ is
> > run. And init_ is run with an onreadystatechange event handler which
> > according the reporter is too late in IE8 standards mode

> Hmm, unless every JS library switches to using onreadystatechange for
> IE8 (or users poll until their canvas elements have getContext), this
> could become a big problem, no?

Yes. It remains a problem with statically generated canvases, the
whole emulation without you doing anything breaks down. My idea only
works with dynamically generated canvases where you have to init the
elements yourself anyway.

> Could we allow the user to call init_ and make sure it only runs once?

I don't think the latter is a problem, it looks idempotent to me. OK,
so actually it might be a question of just calling init_ before using
any canvas stuff. It's already public.

I've opened an issue here, the docs should mention it:

  http://code.google.com/p/explorercanvas/issues/detail?id=30

Ole


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »