DBFM is erratic with IE 8
| Project: | DataBase File Manager |
| Version: | 5.x-4.3 |
| Component: | User interface |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed |
Jump to:
I'm getting the errors below if I'm using IE8. I ran my site in Firefox 3.0.5 and I didn't get any errors as far as DBFM is concerned and I managed to upload a few files, create some directories, and set the permissions. I did a few unit tests to make sure that files are truly secured and DBFM can do the job.
A few work-arounds but still didn't resolve the errors:
1. If I enable the Compatibility View of IE 8; Errors A and B would disappear but Error C won't go away.
2. In the region of the front page, I included but I don't think IE responds to this meta element.
3. I re-saved the configurations in Home » Administer » Site configuration » dbfmgreybox, DBFM Settings, and Drupalicons settings
It would really be cool if the java scripts below can deal with IE8. I'm sure it is a bit of nuisance to the users if they have to figure out which browser version works well with DBFM.
===== Error A: After clicking the DataBase File Manager menu ======
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; InfoPath.1)
Timestamp: Mon, 6 Jul 2009 16:01:58 UTC
Message: Not implemented
corner.js
Line: 144
Char: 25
Code: 0
URI: http://localhost/beta.qconsult/sites/all/modules/dbfm/js/corner.js
========== Error B: After clicking a file or directory ===========
Message: 'dbFM.contextMenuDiv.style' is null or not an object
dbfm.js
Line: 1815
Char: 3
Code: 0
URI: http://localhost/beta.qconsult/sites/all/modules/dbfm/js/dbfm.js
============ Error C: File Manager: Properties ==============
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; InfoPath.1)
Timestamp: Mon, 6 Jul 2009 16:03:15 UTC
Message: Object expected
drupal.js
Line: 205
Char: 3
Code: 0
URI: http://localhost/beta.qconsult/misc/drupal.js
Configurations:
Apache2Triad version 1.5.4
Apache version 2.2.0
MySQL version 5.0.18
PostgreSQL version 8.1.2
Openssl version 0.9.8a
Slimftpd version 3.18
Xmail version 1.22
Perl version 5.8.7
PHP version 5.1.2
Python version 2.3.5
Drupal 5.19 with the following modules:
content_access
event
event_manager
event_manager_block
event_views
image
img_assist
jquery_update
jstools
mimemail
nodewords
nodewords_bypath
nodewords_nodetype
pathauto
token
views
wysiwyg
fckeditor
DBFM modules:
dbfmgreybox-5.x-3.1.tar.gz
dapi-5.x-1.0.tar.gz
dbfm-5.x-4.3.tar.gz
jstools-5.x-0.6.tar.gz
Clean URLs = enabled
I'm attaching the modules admin screen shot and the error screens in IE 8.
Thanks!
| Attachment | Size |
|---|---|
| dbfm_ie8_error_screenshots.xls | 116.5 KB |
| drupal_modules.xls | 314.5 KB |

#1
I've never actually tested dbfm with IE8 - I will try to find some time soon to work through your errors. HOWEVER even if I resolve all the errors you've found there is a deep-seated problem with dbfm (and webfm on which it is based plus numerous other web-based file browsers). The way the code works is that when the application initialises the entire directory tree is loaded onto the client system. This means that the DOM is pretty large and gets larger the more directories you add. While browsers like FireFox and Safari are relatively efficient and can handle this state of affairs IE cannot!! I was planning to rewrite the way the filetree worked for the next release (which would have solved the problem) but that work has now been moved to a later release. If you're only planning on a small filesystem you'll get away with it - but if (like my company) you have hundreds of directories you won't. Anyhow, I'll add more comments when I've found a machine I can use to run IE8 (I use Mac and Linux).
#2
Ah ha! It seems that Microsoft have deprecated dynamic properties. See:
http://msdn.microsoft.com/en-us/library/ms537634.aspx
The easiest solution is probably to force the browser into IE5 or IE7 compatibility mode. By putting this sorta thing into the header:
#3
Sorry - should have previewed that last comment. Drupal doesn't allow me to put in the header string
This is what you need in the header but without the opening and closing tag brackets:
meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /
Is that what you meant when you said you'd tried the compatability view of IE 8??
#4
A slight edit to the code seems to get it all working.
In corner.js comment out lines 143-145 and it all works (at least it does for me). No other mods were needed.
That said I haven't retried it with an older version of IE yet.
My test database has around 50 directories and IE8 was actually pretty fast - looks like MS have really improved it! Please let me know how you get on. I'm just about to try it on a large filesystem.
#5
OK I've just tested IE8 with a filesystem which has 1700 directories. Changing directory took around 12 seconds. Drag and drop was unusable. I would say it's a significant improvement over the previous version ... but still not a patch on Safari or FireFox.
#6
Thanks for the reply!
I actually came to a point of commenting out lines 143-145 in corner.js and it did resolve the initial error but I couldn't get rid of the other two. I tried another scenario where IE8 is in Compatibility mode, lines 143-145 commented out, but the other two errors are still persistent --this is understandable because I haven't touched the other two scripts.
So I did the meta element "IE=EmulateIE7" approach but IE8 doesn't seem to respond to the emulation instruction that i included in the head region of the front page. I'll try again.
In the end, I came to a point of posting a block in the content area just above the DBFM page saying something like: "This page is best viewed with firefox. If you are using Internet Explorer 8.0, make sure that you enable the compatibility view by clicking the Tools menu then select the Compatibility View."
I don't think that my implementation will reach 1700 directories but I'll wait for an improved version of DBFM.
Thanks again!
#7
Closing this issue will wait for an improved version of dbfm.