Applet mit Parameter aus JavaScript

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Ich habe folgendes Problem.

Mein Applet braucht zum starten einen Parameter, den ich normalerweise wie folgt setzen würden:

Code:
<applet ...>
<param name="param1" value="xyz">
</applet>

Nun habe ich aber den Wert für param1 (hier xyz) nur in einer JavaScript Variablen stehen. Wie kann ich diesen nun beim Start an das Applet übergeben?
 
Würde gehen, wenn du die Webseite per JavaScript erzeugst. Dann kannst du den Parameter festlegen.
Ich weiß aber nicht, ob man das mit JavaScript machen kann. Mit PHP gehts.
 
Du könntest das Java Deployment Toolkit benutzen, ist erst noch komfortabler, als die ganzen <embed>- und <object>-Tags zu setzen, und funktioniert immer, wenn JavaScript aktiviert ist:
Code:
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
    var attributes = {
            // Hier steht das, was normalerweise in <applet ...> steht
            archive:"",
            code: '',
            width: 800,
            height: 600
    };
    var parameters = {
            // hier stehen die Parameter, und zwar name: wert
	//jnlp_href: 'Applet.jnlp', ab Java 6 Update 10 kann man auch eine JNLP verwenden!
            param1: varXyz,
            draggable: 'true', // Damit und mit Java 6 Update 10 lässt sich das Applet per ALT & ziehen aus dem Browser ziehen, ansonsten funktionslos
    };
    deployJava.runApplet( attributes, parameters, "1.6" );
</script>
Ich hoffe, ich konnte dir helfen.
 
So hab ich's gemacht( ich weiss, das applet tag ist veraltet):
Code:
         var applt = document.createElement('applet');
          var attr  = document.createAttribute("id");
          attr.nodeValue = "myappletNo1";
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("name");
          attr.nodeValue = "imyappletNo1";
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("code");
          attr.nodeValue = "de.package_x.package_y.Main"; // startklasse
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("codebase");
          attr.nodeValue = "lib/"; // zusaetzliche jar files sind in diesem Unterverzeichnis
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("archive");
          attr.nodeValue = "myappletNo1.jar"; // name des jar files, dass gestartet werden soll
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("mayscript"); // brauchen anscheinend manche browser
          attr.nodeValue = "true";
          applt.setAttributeNode( attr);

          attr  = document.createAttribute("height");
          attr.nodeValue = "100%";
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("width");
          attr.nodeValue = "100%";
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("alt");
          attr.nodeValue = "SuperDuperApplet";
          applt.setAttributeNode( attr);

          var param = document.createElement( "param");
          attr      = document.createAttribute("name");
          attr.nodeValue = "loglevel";
          param.setAttributeNode( attr);
          attr      = document.createAttribute("VALUE");
          attr.nodeValue = "20";
          param.setAttributeNode( attr);
          applt.appendChild( param);

          param = document.createElement( "param");
          attr      = document.createAttribute("name");
          attr.nodeValue = "userid";
          param.setAttributeNode( attr);
          attr      = document.createAttribute("VALUE");
          attr.nodeValue = "Hanswurst";
          param.setAttributeNode( attr);
          applt.appendChild( param);

         document.getElementById('myAppletView').appendChild( applt); // irgendein <div> oder anderes html-element, wo das applet reingeklebt wird

Vielleicht hilft's Dir ja. :###
 
es muss natuerlich so heissen:
Code:
attr  = document.createAttribute("codebase");
          attr.nodeValue = "lib/"; // zusaetzliche jar files sind in diesem Unterverzeichnis steckt das applet
          applt.setAttributeNode( attr);
          attr  = document.createAttribute("archive");
          attr.nodeValue = "myappletNo1.jar"; // name der jar files durch Komma getrennt, die benoetigt werden, auch das des applets selber
          applt.setAttributeNode( attr);
Sorry :roll:
 
Alle Zuweisungen
Code:
attr.nodeValue = "xxx";
lassen sich dann dynamisch durch Zuweisungen mit entspr. Variablen erstzen, z.B.:
Code:
var userid =  'Tom Patapom';
... tons of js-code
...
...
attr.nodeValue =  userid;
So, damit duerfte das jetzt aber erklaert sein... 😎
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben