2012-04-09 31 views
5

Nur aus Neugier, zwischen <applet> vs <object> für ein Java-Applet, welches sollte ich verwenden? Ich weiß, dass <applet> veraltet ist, jedoch empfiehlt Sun weiterhin die Verwendung von <applet>.<applet> vs <object>

Gibt es einen Nachteil zwischen den beiden Tags? Weil, wenn ich <object> für Mac in Safari verwende, verursacht es ein Problem, sagend, dass die Seite nicht laden kann, obwohl die Seite richtig geladen wurde, und wenn ich das Aktivitätsfenster kontrolliere, sagte es, dass die Klasse nicht gefunden/annulliert wurde. Zum Beispiel:

enter image description here

+0

Siehe auch http://stackoverflow.com/questions/4272666/embedding-java-applet-into-html-file – Vadzim

Antwort

6

Verwenden Sie applet, wenn Sie festgestellt haben, dass es öfter funktioniert. Das Element wurde als eine theoretische Vereinheitlichung eingeführt, die ein Einschluss für jede Einbettung von externen Daten wäre. Es hat nie gut funktioniert und die moderne HTML-Entwicklung hat die Idee der Vereinigung effektiv aufgegeben. HTML5 führt audio und video zum Beispiel ein und behält img (logische Vereinheitlichung würde img sicher ablehnen, weil ein Bild mit object eingebettet werden kann).

0

Verwendung <object>. <applet> war deprecated zurück in HTML 4.01.

Sofern Sie nicht auf eine steinzeitliche Umgebung abzielen, gibt es keinen Grund, die Existenz des Applet-Tags anzuerkennen.

+4

aber warum in Orakelstätte http://docs.oracle.com/javase/1.5.0 /docs/guide/plugin/developer_guide/using_tags.html#mixed "Hinweis: Die HTML-Spezifikation besagt, dass das Applet-Tag veraltet ist und dass Sie stattdessen das Objekt-Tag verwenden sollten. Die Spezifikation ist jedoch vage darüber, wie Browser aussehen sollten Implementieren Sie das Objekt-Tag zur Unterstützung von Java-Applets, und die Browser-Unterstützung ist derzeit inkonsistent. Daher empfiehlt Sun, das Applet-Tag weiterhin als konsistente Methode zum Bereitstellen von Java-Applets in Browsern auf allen Plattformen zu verwenden. " Ich weiß, es ist 1,5. Ich muss es für Cross-Plattform verwenden – Harts

+0

Applet wird immer noch funktionieren, aber irgendwann wird Unterstützung für sie fallen gelassen werden. Das könnte morgen sein oder in 500 Jahren. Wenn Sie standardkonformes Markup verwenden möchten, verwenden Sie es nicht. –

+1

Es ist völlig in Ordnung, wenn Ihr Markup als HTML 3.2 markiert ist. ;) –

4

Verwenden deployJava.js wie im applet info. page erwähnt ..

..um Browser Kompatibilitätsprobleme zu vermeiden, das Deployment Toolkit Skript stellt JavaScript-Funktionen, die automatisch die HTML generieren erforderlich RIAs zu implementieren. Entwickler sollten diese Funktionen aufrufen, um ihre Lösungen in verschiedenen Browsern einheitlich bereitzustellen.

Dann haben Sie keine Sorgen darüber, ob das Skript schreibt ein applet, object oder embed Element.


Als beiseite. Kopieren/Einfügen des Textes aus dem Aktivitätenfenster wäre viel nützlicher als ein Screenshot. Jetzt schaue ich (Schielen) es an, es die nur zwei Zeilen der Ausgabe scheint, die in irgendeiner Weise relevant sind:

Die css/none ist keine Klasse oder ein Jar, und keiner von ihnen existiert auf dem Server. Dieses Applet weist also Probleme auf, die über die HTML-Elemente hinausgehen, mit denen es implementiert wurde.

0

Ich denke, Sun hat einen Punkt. HTML5 says:

Das Applet-Element ist nun überholt, so dass alle Erweiterung (Java, .NET, Flash, etc.) Frameworks in einer konsistenten Art und Weise behandelt werden.

Mit anderen Worten, es ist nicht mehr gültig aus Gründen der theoretischen Reinheit und nicht wegen irgendeines praktischen Problems. Ehrlich gesagt, finde ich <applet> einfacher und zuverlässiger in der realen Welt zu verwenden und weiterhin zu verwenden.

Während könnte die blutigen Details weg verstecken, ist die Realität, dass unter der Haube, es unter bestimmten Umständen immer noch <applet> verwendet.