这里讨论限于 IE, Firefox 和Chrome 主流浏览器。
之前有写过一篇 Chrome 设置使用已安装JRE的方式
汇总一下,就是 Firefox 和 Chrome 要能找到 java , 依赖于在[HKEY_LOCAL_MACHINE\SOFTWARE\MozillaPlugins\] 下是否有 @java.com/JavaPlugin 这一项配置。
安装jre-6u11 版本时,并不会自动把@java.com/JavaPlugin写入注册表。
安装jre-6u24 版本,就已经可以自动把@java.com/JavaPlugin写入注册表。
所以安装完jre-6u24, IE, Chrome, Firefox 就可以直接使用applet, 而不会跳出让你安装java 插件的提示了。
有两个选项, “更新插件”, “运行一次”
必须点击运行一次才能正常。
如果让chrome 不去检查?
在Chrome 的快捷图标点"属性"--> 在“目标” 一栏末尾加上 --allow-outdated-plugins
重启Chrome.
情况描述: 访问一个有 applet 的网址, 弹出一个错误页面, 页面信息如下:
The publisher cannot be verified by a trusted source. Code will be treated as unsigned.
Java.io.EOFException
(以上信息也可能是中文的)。
问题分析: EOFException 异常表示输入过程中意外地到达文件尾或流尾的信号。 不过看上去是安全相关的问题。
打开java 控制面板(在jre 的bin目录下点击 "javacpl.exe") ,点到”安全“的标签页中, 点一下 "证书" 按钮, 果然,报相同的错误。
因为问题是发生在客户机器上的,所以无法重现问题:以下提供几种解法可以尝试:
1. 解法一: 认为是无法访问本地资源导致的。
可以修改 java.policy 文件,添加以下内容进行授权
grant{ permission java.security.AllPermission; };
这个文件的位置有两个地方:
C:\Documents and Settings\User Name\.java.policy
或是
\jre6\lib\security\java.policy
2. 解法二: 认为是.keystore 文件被破坏了导致的,解法是删除这个文件。
位置在: C:\Documents and Settings\<username> 这个下面
(找了一下,在本地机器没有找到这个文件)
3. 解法三: 删除java 临时文件目录 .java/deployment/security/下的"trusted.certs" 和 "auth.dat" 这两个文件
临时目录可以通过 Java 控制面板的“常规”标签 ,点“设置”, 就可以看到保存临时文件的位置了。