<applet>
!那么现在applets已经没有用处了吗?您可以在此处查看:HTML5 New Elements(at the end) 或者在这里:
![enter image description here](https://istack.dev59.com/UB1AW.webp)
<applet>
!那么现在applets已经没有用处了吗?Applets(用Java编写的并旨在在浏览器内运行的应用程序)在HTML规范或草案中没有被弃用。由于有许多其他替代品可用,人们对它们的兴趣正在减少,但这是一个不同的问题。
applet
元素在HTML 4中被宣布为废弃,以支持object
元素。在HTML 4中,废弃意味着该元素仍然是语言的一部分,建议浏览器支持它(虽然实际上,并非所有浏览器都支持它,有些浏览器无法支持它),但建议使用其他东西(在这种情况下,object
)代替它。
在HTML5 CR中,不使用“废弃”一词。它使用术语“过时”,这原则上意味着不同的事情,但在实践中非常接近。在HTML5 CR中,applet
元素被声明为“完全过时和不符合规范”,并指出“作者不能使用它”。然而,在HTML5中,定义了applet
,“实现要求”下的要求。并且HTML5 符合性要求规定正常浏览器必须(不仅仅是应该)支持它。
HTML4 的“弃用(deprecated)”和 HTML5 的“废弃(obsolete)”概念之间的几个真正区别之一是验证:当针对 HTML4 DTD 进行验证时,使用过渡(Transitional)DTD 时会接受applet
,但在使用严格(Strict)DTD 进行验证时会标记为错误;在 HTML5 验证中,applet
被报告为错误。
P.S. 不应将 W3schools 用作任何权威或参考,请参见http://w3fools.com
更新2021 - Applets已被 Oracle 在 Java 9 中正式弃用。因此,尽管在撰写本文时 W3Schools 并不严格正确,但他们所说的现在是正确的。
Oracle 弃用 Applets 的主要原因是大多数现代 Web 浏览器已经停止支持它们。截至目前(AFAIK),只有 Internet Explorer 仍然支持 Applets,而 IE 计划于 2022 年中期停止服务。
object
标签。例如:<object
width = "800"
height = "510"
data = "http://math.hawaii.edu/~ralph/Classes/Plotting/fplotter.jar"
type = "application/x-java-applet"
>
<param
name = "codebase"
value = "http://math.hawaii.edu/~ralph/Classes/Plotting/"
/>
<param
name = "code"
value = "a_fplotter.class"
/>
<param
name = "width"
value = "800"
/>
<param
name = "height"
value = "510"
/>
<param
name = "archive"
value = "fplotter.jar"
/>
</object>
Java 9
中已弃用Applet
Applets在 Java 9中被弃用。Oracle将停止分发和支持Java浏览器插件。
引用自java.applet.Applet
类:
Applet API已被弃用。有关更多信息,请参见java.applet package documentation。
有关更多信息,请参见Oracle的博客文章。
请考虑使用Java Web Start技术。
不论小程序是否是一个好主意,
使用<object>
元素替代。这是符合标准的方式。
<object>
元素可以表示外部资源,具体取决于资源类型,资源可能会被视为图像、嵌套的浏览上下文或由插件处理的外部资源。
object
标签与 applet
标签执行的是相同的操作。如果您是 Web 编程新手,我真的认为 Java applets 可能不是开始学习的正确地方,而且 w3schools 可能也不是开始学习的正确地方。如果您真的想继续使用 Java,请考虑使用 GWT,但如果您刚开始学习,我建议不要这样做。相反,可以从 JavaScript 开始。 - Benjamin Gruenbaum
<applet>
并没有被“删除”,而是被认为是“过时和不符合规范”。这些功能仍然是标准的一部分,它们仍然具有良好指定的行为,但由于存在更好的替代方案,使用它们会触发验证错误。 - millimoose