我的网络应用程序及其小程序多年来一直在多个平台和浏览器上运行。直到最近的 Snow Leopard 更新(10.6.8 Update 16),小程序才停止在 Safari(5.1.9)上运行。我使用的技术在“在混合浏览器环境中部署小程序”下进行了描述:
http://download.java.net/jdk8/docs/technotes/guides/jweb/applet/using_tags.html
这种技术基本上同时使用了 OBJECT 和 EMBED。OBJECT 适用于 IE,EMBED 适用于基于 webkit 的浏览器,如 Safari。
我试图找出 Update 16 出了什么问题。我尝试了 Safari 的每个选项:EMBED、OBJECT 和 APPLET。曾经有效的 EMBED 似乎不再有效。奇怪的是小程序确实有效。注意我无法让 FF 和 Chrome 在 Mac 上显示小程序。
我宁愿不使用 APPLET,因为这创造了一个机会,我破坏了所有其他正常工作的浏览器。
有谁知道苹果做了什么突然让 EMBED 不再工作?
这是代码:
<HTML>
<HEAD>
<TITLE>Applet Test</TITLE>
</HEAD>
<BODY>
<OBJECT
classid="clsid:CAFEEFAC-0016-0000-FFFF-ABCDEFFEDCBA"
width="250"
height="400"
name="ImagerAppletIE"
align="top"
vspace="0"
hspace="0">
<PARAM name="CODE" value="com.mycompany.myapp.Imager.ImagerApplet"/>
<PARAM name="CODEBASE" value="http://myapp.mycompany.com/classes"/>
<PARAM name="NAME" value="ImagerApplet"/>
<PARAM name="type" value="application/x-java-applet;version=1.6"/>
<PARAM name="imageURL" value="http://app.mycompany.com/images/fooimage.jpg"/>
<COMMENT>
<EMBED ID="ImagerAppletFF"
TYPE="application/x-java-applet;version=1.6"
JAVA_CODE="com.mycompany.myapp.Imager.ImagerApplet"
JAVA_CODEBASE="http://myapp.mycompany.com/classes"
NAME="ImagerAppletFF"
width="250"
height="400"
align="top"
vspace="0"
hspace="0"
IMAGEURL = "http://app.mycompany.com/images/fooimage.jpg"
<NOEMBED>
Applets not supported.
</NOEMBED>
</EMBED>
</COMMENT>
</OBJECT>
</BODY>
</HTML>