Guten Morgen!
Inzwischen habe ich mein gewünschtes Java Applet zusammen, das ist ein Erinnerungstool für Termine. Nun aber folgendes Problem: Der Benutzer hat eine Instanz meiner Webseite offen, Applet läuft, alles ist gut. Nun öffnet der Benutzer im selben Browser eine zweite Instanz meiner Webseite, z.B. in neuem Tab. Jetzt startet das Applet völlig unabhängig ein zweites mal, ich habe nun also zwei Icons im Systray. Und so weiter, je Instanz ein Applet.
Nun suche ich eine Möglichkeit, erstmal abzufragen, ob das Applet schon aus einer anderen Instanz heraus gestartet wurde. Wenn es nämlich schon läuft möchte ich es entweder kein weiteres mal starten oder das Applet in der anderen Instanz erstmal schließen. Die Abfrage reicht innerhalb des selben Browsers. Wenn es eine browserübergreifende Abfrage gäbe wäre das natürlich die Goldlösung.
Das Applet wird derzeit so mit JS initialisiert:
Das Vorhandensein des Applets frage ich derzeit mit JS so ab: [c]if (document.appletname.isActive()) {}[/c]
Mein Problem: Die Abfrage funktioniert natürlich nur, wenn es "appletname" im Dokument bereits gibt. Das funktioniert also schon mal nicht. Wenn ich dann aber das Node erzeuge, um "appletname" zu haben, ist es bereits ein weiteres mal gestartet, also zu spät für eine Abfrage, die bezieht sich dann nämlich auf das neu erzeugte Node.
Daher meine Frage: Wie kann ich per JS/HTML abfragen, ob vom selben Browser in einem anderen Tab oder Fenster das Applet bereits gestartet wurde?
Der junge Mann, der mir das Applet programmiert hat verweist mich auf Javascript, er könne das im Applet selbst nicht lösen. Ich selbst beschäftige mich mit Java möglichst garnicht Und für Javascript weiß ich im Moment nicht, wie ich auf etwas abfragen soll, was es in dieser Instanz noch garnicht gibt.
Jemand eine Idee dazu? Wäre sehr dankbar. Würde mich auch erkenntlich zeigen, wenn es aufwendiger wird.
Vielen Dank fürs lesen
Inzwischen habe ich mein gewünschtes Java Applet zusammen, das ist ein Erinnerungstool für Termine. Nun aber folgendes Problem: Der Benutzer hat eine Instanz meiner Webseite offen, Applet läuft, alles ist gut. Nun öffnet der Benutzer im selben Browser eine zweite Instanz meiner Webseite, z.B. in neuem Tab. Jetzt startet das Applet völlig unabhängig ein zweites mal, ich habe nun also zwei Icons im Systray. Und so weiter, je Instanz ein Applet.
Nun suche ich eine Möglichkeit, erstmal abzufragen, ob das Applet schon aus einer anderen Instanz heraus gestartet wurde. Wenn es nämlich schon läuft möchte ich es entweder kein weiteres mal starten oder das Applet in der anderen Instanz erstmal schließen. Die Abfrage reicht innerhalb des selben Browsers. Wenn es eine browserübergreifende Abfrage gäbe wäre das natürlich die Goldlösung.
Das Applet wird derzeit so mit JS initialisiert:
HTML:
function generate_kalender_applet(data) {
var app = document.createElement('object');
app.type = 'application/x-java-applet';
app.width = 0;
app.height = 0;
app.name = data['para']['appname'];
var para = document.createElement('param');
para.name = 'code';
para.value = data['para']['code'];
app.appendChild(para);
para = document.createElement('param');
para.name = 'archive';
para.value = data['para']['archive'];
app.appendChild(para);
para = document.createElement('param');
para.name = 'scriptable';
para.value = 'true';
app.appendChild(para);
para = document.createElement('param');
para.name = 'mayscript';
para.value = 'true';
app.appendChild(para);
para = document.createElement('param');
para.name = 'icon-url';
para.value = data['para']['icon'];
app.appendChild(para);
para = document.createElement('param');
para.name = 'tooltip';
para.value = data['para']['tooltip'];
app.appendChild(para);
document.body.appendChild(app);
}
Das Vorhandensein des Applets frage ich derzeit mit JS so ab: [c]if (document.appletname.isActive()) {}[/c]
Mein Problem: Die Abfrage funktioniert natürlich nur, wenn es "appletname" im Dokument bereits gibt. Das funktioniert also schon mal nicht. Wenn ich dann aber das Node erzeuge, um "appletname" zu haben, ist es bereits ein weiteres mal gestartet, also zu spät für eine Abfrage, die bezieht sich dann nämlich auf das neu erzeugte Node.
Daher meine Frage: Wie kann ich per JS/HTML abfragen, ob vom selben Browser in einem anderen Tab oder Fenster das Applet bereits gestartet wurde?
Der junge Mann, der mir das Applet programmiert hat verweist mich auf Javascript, er könne das im Applet selbst nicht lösen. Ich selbst beschäftige mich mit Java möglichst garnicht Und für Javascript weiß ich im Moment nicht, wie ich auf etwas abfragen soll, was es in dieser Instanz noch garnicht gibt.
Jemand eine Idee dazu? Wäre sehr dankbar. Würde mich auch erkenntlich zeigen, wenn es aufwendiger wird.
Vielen Dank fürs lesen