Safari 7,Mac OS X:通过javascript确定Java是否处于“不安全”模式

时间:2013-11-25 15:34:39

标签: javascript safari applet

好的,我们有一个Java applet,它提供了将文件上传到服务器的功能。一些have already noticed,该用户需要为我们的网站变为“不安全”的java模式才能使applet正常工作。

确定java的“安全性”的一种方法是尝试加载“假”小程序并查看它的行为方式。这需要一些时间来加载JRE而不是我想要的。

问题是:我们能否确定java是否仅在使用JavaScript的不安全模式下运行?我真的希望Apple增加这种可能性。

事实上,一些指向此行为描述的链接将不胜感激。

1 个答案:

答案 0 :(得分:1)

我相信你误解了我原来的后期Java applet和Safari 7. Safari 7实际上并没有“阻止”applet的加载。 小程序将被加载,就像在Safari 6下加载一样。唯一的问题是Safari 7(而不是6及以下)实际上限制小程序来自访问文件系统,如果applet以“安全模式”运行,这是默认设置。

因此,如果您的applet不需要访问本地文件(可能还有其他一些I / O,但我没有尝试其他选项) - 它不会发现任何错误。

但是,只要您的applet尝试访问本地文件系统,它就会获得FileNotFoundException。

所以对我来说,检查applet是否处于“安全模式”的最佳方法是简单地尝试访问您知道存在且可供用户访问的文件夹(我认为您可以开始尝试使用“。”或“..”)。如果不是访问文件夹而是FileNotFoundException,您可以假定(并建议您的用户)applet以“安全模式”运行。

此外,我绝对相信,如果特定小程序处于“安全模式”,或者询问Safari 7是否以“安全模式”或“不安全模式”运行所有小程序,则无法通过js进行检查。< / p>

希望这有帮助。