作者: william robert stanek / 翻译:朱英
对<applet> 标识说再见,欢迎新标识<object>
在html 4.0中,一种更好的把applets添加到网页中的方法是用<object> 标识取代<applet> 标识。<object> 标识是个多用途的标识,为当前和升级到未来的新类型媒体作准备。作为适合于多种类型媒体的通用标识,它的意义重大。网络仅仅经过短短几年的发展,已经出现在不少同媒体相关的标识,这些标识的作用是相同的。
事实上,单个的 <object> 标识可以用于取代如下标识:用于标识图象的 <img> 标识,用于标识小程序的 <applet> 标识,用于标识内部框架的<iframe>标识,以及用于标识内部对象的 <embed> 标识。
当你使用<object> 标识时,你通常需要告诉浏览器对象代码的类型,这是通过属性codetype 来指明的。java applets和应用程序的代码类型为application/java。而java archives的代码类型为application/java-archive。如果你以前使用过基于网络的内容类型,你就会知道application/java和application/java-archive都是mime (多用途的网际邮件扩充协议)类型,浏览器通常根据mime 类型来决定如何处置不同类型的信息。
另外一个重要的区别是<applet> 标识的code 属性在<object> 标识中不存在。<object> 标识使用了名为classid的属性,用于标明applet的uri (通用资源标识符)。uri同url略有不同。对于uri,你告诉浏览器有关协议或者语言之后,就可以了解其结构,并对它进行操作。为了把uri的结构同 protocol/language区分开来,你可以使用冒号,如protocol:structure。
对于java来说,uri的 protocol/language总是标明为java,对相应的结构采用哪一种处理方式取决于你在网页上如何使用applet。如果你打算直接调用applet的start()方法,你可以告诉浏览器start() 方法所在的路径,例如program.start:
<object codetype="application/java" classid="java:program.start" width="250" height="250">
</object>
如果你打算在applet中调用一个标明的java类,你可以标明该类。下面的例子中, applet的主类名为custom.class,该类在“java:”指示符之后标明。
<object codetype="application/java-archive" classid="java:custom.class" width="300" height="300">
</object>
在你准备对诸如<applet> 这样的标识说再见时,你要知道在你的网页中只使用 <object> 标识的时机尚未成熟,原因是老版本的浏览器并不能识别<object> 标识,它并不知道如何显示和运行你的applets或者其他嵌入对象。
为了同老版本的浏览器保持兼容,在<object>的起始标识和 <object> 的结束标识之间可以插入<applet> 标识。务必在<object>的起始标识之后,立即加上<applet>标识。下面的例子中,如果浏览器不能识别出<object> 标识,浏览器就试着使用<applet> 标识。
<object codetype="application/java-archive" classid="java:custom.class" width="300" height="300">
</applet code="custom.class" archive="myclasses.jar" width="300" height="300">
</applet>
</object>
在网络上,数据所占用的每个bit和每秒都是有价值的。把applet文件打包压缩成为一个archive文件,其效果的确大不一样。你现在了解了java archive 的用法。我们将在以后将探讨更多的java的应用例子。
闽公网安备 35060202000074号