Wywoływanie metod javy bezpośrednio z javascript

0

Hello

Wiem jak wywołać z strony html metodę z appletu ale podobno można też wywołać metodę Javową bezpośrednio- mój kod wygląda tak:

<HTML><HEAD></HEAD><BODY>
<SCRIPT>
function getScreenDimension() {

alert("Screen Dimension\n" +
  "  width:" + 
  java.awt.Toolkit.getDefaultToolkit().getScreenSize().width +
  " height:" + 
  java.awt.Toolkit.getDefaultToolkit().getScreenSize().height);
  }
</SCRIPT>
<FORM>

<INPUT type="button" value="call Java method direct" 
   onClick = "getScreenDimension()">
</FORM>


</BODY></HTML>

Gdy naciskam żadne alertowe okienko się nie pojawia a tym bardziej z wymiarami okna....jakieś pomysły?

Pozdrawiam

PS: Ścieżki do javy mam w systemie takze to nie to...i jak już ktoś mi odpowie to czy takie wywołanie można zamknac w bloku try-catch?

0

Używasz niewłaściwej przeglądarki ;-) . W Operze działa, w FF i IE. Na konsoli błędów komunikat: java is not defined

0

No to jestem zbity z tropu w ogóle:)

Mnie w Operze nie działa a mam 10.60 , w IE też nie a w FF w wersji 3.6.6 działa.
Używam Chroma i tam też nie działa przy czym niedziałanie nie daje errorów-po prostu nie uruchamia javy - nic w konsoli nie dostaje.

I teraz mam pytanie-jaka przyczyna i czy jest rozwiazanie?

PS:"Niewłaściwa" przeglądarka hmm no tak być nie może:/

0

Ja mam Operę 9.64 i FF 3.6.8. Mój FF na desktopie jest niewiarygodny, nie uruchamia żadnych apletów i nie otwiera konsoli Javy (począwszy od wersji 3.5.3). Idę sprawdzić na laptopie, tam aplety w FF działają.

0

Na laptopie działa w FF, nie działa w Operze 10.0. Morał: nie należy bezpośrednie wywoływać metod Javy z JavaScriptu. Chyba, że wszyscy będą używać tylko FF.

0

A to nie jest przypadkiem tak, że aby wywoływać metody Javy, potrzeba włączonego JVM - czyli trzeba mieć applet na stronie, nawet jeśli się go nie używa... ?

0

Znalazłem coś takiego:

On IE4 or better, you can't call java.* methods directly from Javascript or Jscript. IE javascript can only access the public methods of an applet (a class derived from java.applet.Applet) but don't have a general access to other java classes . So the solution is simple, wrap the java.* call in a public method of a "dummy" Apple

http://www.rgagnon.com/javadetails/java-0170.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1