Welcome Guest Search | Active Topics | Sign In | Register

Problems with slow script execution with multiple AJAXUploader's on page in Firefox Options
Jason S
Posted: Tuesday, February 5, 2008 4:56:50 PM
Rank: Member
Groups: Member

Joined: 5/30/2007
Posts: 23
I am curious if you have had any reported problems with using multiple(8 in this case) AJAXUploader controls on one page. The page loads completely and then looks to hang briefly in Firefox as you cannot scroll the window for a few seconds. The page is very heavy CSS including the controls.

I apologize if a thread has already been created for this, but I could not find one. Because of the layout/execution of the page right now, a small code excerpt is not easily attainable, but I would be willing to set up a kind of example. I know it is hard to make any kind of analysis without code. I just wanted to know if this problem has been noted before I went through all the effort of making a stand-alone example.

I have isolated the problem at least that is the AJAXUploader controls in tandem with the CallbackPanel that is causing the problem, and again only in Firefox. IE, and Opera both have no delay between page load and the end of script execution. It looks like some kind of JavaScript being downloaded in one of the eo_web.ashx files is the culprit.

Thanks in advance and I will be preparing an example as I think I know the response already :)
eo_support
Posted: Tuesday, February 5, 2008 5:21:57 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi Jason,

An example will absolutely help. But we can probably start the test on our side without it. We will start by putting 8 uploaders into a single form and see what happens.

Please keep in mind that we can not guarantee a solution at this time. Sometimes our components employ different code/workarounds for different browsers. And obviously this occurs at various places for the uploader, one of them while they initialize. 8 uploaders in the same page is not an extremely high number, but it's also not very common, as at any given time only one can be active. So there is very little practical advantages of having 8 uploaders loaded in the same page at the same time. From that aspect, I would recommend you to only use one and maybe using the CallbackPanel to show/hide/move/modify the uploader for different segments of the page.

Thanks
Jason S
Posted: Thursday, February 21, 2008 1:05:13 PM
Rank: Member
Groups: Member

Joined: 5/30/2007
Posts: 23
Okay,

So...let me start by laying out how I am using the controls. I am using an <asp:Wizard> control and in one of my wizard steps I have the 8 AJAXUploader controls. The problem I am having is in part because the site is VERY heavy CSS based layout(out of my control), so multiple images are being downloaded on a given page, as well as js and the css files, along with any control scripts.

If I just put 8 uploaders on a simple page there is no problem. But when worked into the current layout is when I see the problem. The problem I am experiencing is only in Firefox, and basically when the page has already rendered, but is still loading(downloading) objects, the page basically freezes for several seconds. The page is long, so if you try to scroll(or do anything in the browser) while the page is loading is when you will see the effect.

I know you would probably say at first thought that because of the complexity/number of objects on the page, that a slow load is not the outcome of the controls, the only reason I am posting is because it does not happen in IE6 or Opera, so it looks like some kind of initialization issue in Firefox, as you noted that different measures are taken for different browsers for initializing the controls.

I have an example one page project that can replicate the effect, but I cannot post that here obviously. Please let me know if you can help.

Per your previous suggestion, since I am actually showing 8 instances of a browse/upload/progress controls on the page, I'm not sure that I can show/hide/move/modify the uploader as I am showing the 8 instances on load without any interaction on the page.

Hope this all makes sense.

Thanks in advance,
Jason
eo_support
Posted: Thursday, February 21, 2008 1:22:34 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi Jason,

We have actually looked into the issue and reason that why it is only occurring on FireFox is because we have different code for FireFox to adjust the file input box width to be 100% of its container (in this case the uploader). This is easily done on IE because you can set an input box's style.width on IE. However you can not set the width of the input box on FireFox (We can't think of any reason that why FireFox does not support it). With FireFox, you can only set the input box's size property, which is the number of characters it can hold, instead of setting it's style.width directly. Thus our code actually set the size property multiple times in an attempt to figure out the best size value that would render the input box closest to the idea width.

This is rarely a problem when you use only one AJAXUploader on the page. However it does seem to be causing some delays for you when you use 8. Unfortunately we have not yet found a workaround for this size limitation on FireFox yet --- which means in the mean time your best option is still reducing your 8 uploaders to 1.

The easiest way to reduce 8 uploader to 1 is not to remove them, but hide them on the server side. You can still put 8 uploaders in your .aspx file, but on your server side code, you set its Visible to false except the one that is in the current WizardStep. That should not require any changes on your page layout, and yet effectively renders only 1 uploader to the client side, even though you still have 8 on the server side.

Hope this helps.

Thanks
Jason S
Posted: Thursday, February 21, 2008 1:40:03 PM
Rank: Member
Groups: Member

Joined: 5/30/2007
Posts: 23
Thanks for the quick reply as always!

I actually am showing all 8 uploaders on one WizardStep, it's a step where a user can upload up to 8 images for their profile, so unfortunately I must show them all in one step. With the design already finalized I also can not use the multiple upload option either. It is not a show-stopper, as the page does work after the initialization finishes.

Is there anyway I could be notified if it is fixed in a future release, or should I just keep checking back for the release updates.

Thanks again
eo_support
Posted: Thursday, February 21, 2008 1:53:16 PM
Rank: Administration
Groups: Administration

Joined: 5/27/2007
Posts: 24,194
Hi Jason,

We can keep an eye on this one but the fact that it is a restriction of FireFox makes it unlikely that it's going to be addressed in the near further. This particular issue, even though peculiar, does not seem to be a concern to FireFox developers. Having that said, it's still possible that they might just take care of it in a new version. But even that, it will only work well on the new version of FireFox.

Thanks


You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.