In a DHTML app, *only in IE7* and *only in Debug mode*, when I click
right on the canvas to get the default Laszlo menu, and click on
"About Openlaszlo",


ERROR: super.open is undefined in open
lzx> Debug.inspect(super.open is undefined in open)
«LzError(39)#1» {
file: null
length: 39
line: null
message: 'super.open is undefined in open'
}
«LzError(39)#1| super.open is undefined in open»
lzx>

I believe this is happening in this LzBrowserKernel.loadURL method
which tries to load a specified URL. What is weird is that this doesn't
happen if I turn on backtrace, it only happens in regular debug mode.


If I look at the compiled code js code, for debug mode it says this, there
is
no reference to super or our call-next-method

Class.make("LzBrowserKernel", null, null, ["loadURL",
 function loadURL (url_$1, target_$2, features_$3) {
     /* -*- file: -*- */
     /* -*- file: kernel/dhtml/LzBrowserKernel.lzs#24.14 -*- */
     switch (arguments.length) {
       case 1:
         /* -*- file: #25 -*- */
         target_$2 = null;;case 2:
         features_$3 = null
             };
     /* -*- file: #25 -*- */
     if (target_$2 != null) {
         /* -*- file: #25 -*- */
         /* -*- file: #26 -*- */
         if (features_$3 != null) {
             /* -*- file: #26 -*- */
             /* -*- file: #27 -*- */
             window.open(url_$1, target_$2, features_$3)
                 } else {
             /* -*- file: #28 -*- */
             /* -*- file: #29 -*- */
             window.open(url_$1, target_$2)
                 }} else {
         /* -*- file: #32 -*- */
         window.location = url_$1
             }}
/* -*- file:  -*- */
,

The code in LzBrowserKernel just calls window.open ...


/**
  * @access private
  */
class LzBrowserKernel {

/**
  * Loads a URL in the browser, optionally in a target
  *
  * @param String url: URL to load
  * @param String target: Optionally specifies a named frame to display the
contents of the URL.
  * The document specified by URL is loaded into the current browser frame
by default.
  */
static function loadURL ( url, target=null, features=null ){
    if (target != null) {
        if (features != null) {
            window.open(url, target, features);
        } else {
            window.open(url, target);
        }
    } else {
        window.location = url;
    }
}

-- 
Henry Minsky
Software Architect
[email protected]

Reply via email to