Opened 12 years ago

Closed 12 years ago

#931 closed defect (wontfix)

Xinha hangs while loading toolbar images; also pulls down server

Reported by: ub Owned by: gogo
Priority: normal Milestone:
Component: Xinha Core Version:
Severity: critical Keywords:


I made a very strange experience when using Xinha in IE6.

When I am trying to open the Xinha example(/demo) pages ( or using IE6 the editor "hangs". Only some toolbar buttons or no buttons at all are displayed. (see screenshot). It looks like the editor is waiting for some images that are not delivered. I "sniffed" the HTML traffic and noticed that indeed one image is requested more than once, but only returned once by the server. (see bottom of this image)

In addition that I noticed that after I opened an editor in IE the server seems to hang, too. I.e. further requests to the server (from a different browser, even from a different machine) time out. After a while (like 5 minutes or so) the server is responsive again. I tried this out both on the and server. Maybe you can see in the server log what went wrong?

Everythings works fine when using Firefox 1.5.

In a local setting I could reproduce that behaviour, too. After some experiments I found out that this problem does not occur when the images are already "loaded" when editor opens. Therefore I added the following stuff to my HTML file. With this modification now also the IE can be used.

<!-- Because IE may hang if multiple images must be loaded dynamically "preload" the most frequently used now -->
<span style="display:none;">
	<img src="easyedit/images/de/bold.gif"/>
	<img src="easyedit/images/de/underline.gif"/>
	<img src="easyedit/images/de/italic.gif"/>
	<img src="easyedit/images/ed_buttons_main.gif"/>
	<img src="easyedit/images/ed_selectall.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/cell-delete.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/cell-insert-after.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/cell-insert-before.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/cell-merge.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/cell-prop.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/cell-split.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/col-delete.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/col-insert-after.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/col-insert-before.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/col-split.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/row-delete.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/row-insert-above.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/row-insert-under.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/row-prop.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/row-split.gif"/>
	<img src="easyedit/plugins/TiddlyWikiTableOperations/img/table-prop.gif"/>

If you want to reproduce this you may want to clear your temporary internet files (i.e. cached images) since this problem only seems to appear when an image really is downloaded from the server (and not take from the cache).


Change History (2)

comment:1 Changed 12 years ago by guest

This bug seems to be a real annoying specific IE6 bug :


I add these lines to my apache conf file :

<IfModule? mod_expires.c>
ExpiresActive? On
ExpiresDefault? A18000
ExpiresByType? image/gif A2592000
ExpiresByType? image/jpeg A2592000
ExpiresByType? image/png A2592000

And Xinha doesn't hang any more ...

comment:2 Changed 12 years ago by gogo

  • Resolution set to wontfix
  • Status changed from new to closed

I think I will close this as wontfix.

It's essentially a browser cache problem, combined with a server problem by the sounds of it. Sure, IE has this sucky cache which doesn't always work right, but it should not matter that it requests the same image over and over provided that the server serves it.

Pre-loading the images would not be feasible I think.

Note: See TracTickets for help on using tickets.