Mac Java Interface Error Accessing MapServer CGI

Cameron Shorter cameron at socialchange.net.au
Tue Mar 27 03:36:00 PST 2001


Yes, we found this error too, and did a little research.
This is what we found:

=======

<snip>
Looks like you are right, some mac clients cannot have java talk to
javascript - but there is a workaround (although it it a hack).

Java in one window talks to javascript in another window, which talks to
javascript in original window.



http://www.dannyg.com/update4.html
LiveConnect and Navigator 4.6 Navigator 4.6 shipped with a bug that
prevents
       applets from communicating with the document. The indicated error
faults the
       JSObject.class. Unfortunately there is no known workaround for
this bug. As far as I
       can tell, JavaScript-to-applet communication is not bothered by
this bug.

---


http://www.rgagnon.com/ce/java-js.html
Interaction without LiveConnect

Java-Javascript interaction is not possible on many browsers or
platforms. On Mac, for example, the LiveConnect package is not
available, even
with the latest Netscape version. On IE3, the interaction is very
limited too. 

Java to Javascript
One way to pass information from Java to Javascript, without LiveConnect
or scripting support, is to have an hidden frame acting as a bridge.
>From
Java you do a showDocument() with a particuliar page passing the message
as parameter to the hidden frame, something like
showDocument("mypage.html?HelloJavascriptFromJava", "hiddenframe"). The
mypage.html page contains a javascript script to extract the
parameter received in the URL (using the document.search property). And
then the parameter extracted is send to another javascript function in
the
visible frame.
... (example)

Javascript to Java
The idea here is to have an invisible Applet in an invisible frame that
will receive a message (from Javascript in the visible frame) through
the search
part of its URL. Then via a static pointer to the visible Applet, the
invisible Applet pass the message to the visible Applet by calling the
appropriate
function.
... (example)



Michael Kleih wrote:
> 
> Alexspringer at aol.com wrote:
> 
> > A Mac user attempting to access our Mapserver CGI with Java interface, which
> > works fine with IE5 on Windows, fails to connect and gets this error ...
> > anyone know the solution?
> >
> > Incurred while using Internet Explorer 4.5 for Mac using OS 9.1.
> >
> > Java Exception: java.lang.ClassNotFoundException -
> > netscape.javascript.JSObject
> > Stack Trace:
> > java.lang.ClassNotFoundException: netscape.javascript.JSObject
> >  at
> > com.apple.mrj.JManager.JMAppletClassLoader_IMPL.loadClass(JMAppletClassLoaderO
> >
> 
> It seems you are using LiveConnect (connection between JAVA
> and JavaScript), which obviously is not installed on the computer
> of your user. (the class netscape.javascript.JSObject is missing)
> You could give to this user your classfile, your browser is using.
> 
> Michael

-- 
Cameron Shorter          Web Mapping Manager
Social Change Online
248 Johnson St           Tel: +61 (0) 2 9692 5115
Annandale NSW 2038       Fax: +61 (0) 2 9692 5192
Sydney, Australia        http://webmap.socialchange.net.au



More information about the MapServer-users mailing list