Using the node reference field and or the WYSIWYG API button causes the modal dialog to never completely load. In the case of the node reference field the modal loads but promptly redirects the user to a new page in the Drupal site.

Example:
http://www.example.com/nrembrowser/media/add/field_category_image

Comments

emptyvoid’s picture

Unfortunately in order to load Drupal with all CSS and JS files I have to enable the performance feature. Which compiles and compresses all of the css and js files into single files (css,js respectively) This is required because Microsoft in their infinite wisdom made a hard limit to the number of css and js files that can be loaded on a single page at one time.

So attempting to debug the JS files is impossible, here is the error I get in the IE9 debugger:

Reviewing the JS objects loaded into the DOM it would appear there is a conflict with the CSS Selector methods in jQuery 1.3.2 that is provided with jquery update for Drupal 6.


SCRIPT429: Automation server can't create object 
js_c01512b2b14eb9b8b2801f0e0d88b2b1.js, line 19 character 25095

/*
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */

 return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()

A little googling found the following related to this bug: http://www.google.com/search?hl=en&q=Vista+IE+Ajax+Automation+Server+can...

http://bugs.jquery.com/ticket/1027
http://onwebdev.blogspot.com/2010/02/automation-server-cant-create-objec...

The damning proof it is an issue with Internet Explorer (which appears to still be in IE 8 and 9)!
http://darklaunch.com/2009/10/08/automation-server-can-t-create-object-j...

emptyvoid’s picture

Here is the patch code that you may need to manually patch your version of jquery 1.3.2

Jquery 1.3.2 javascript:

xhr:function(){
    return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
},

Replace the xhr function with:

xhr:function(){
    if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    }
    else if (window.ActiveXObject) {
        try {
            return new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
            try {
                return new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch(e) {
                return false;
            }
        }
    }
},

Sure enough adding this change made it work in all versions of IE.