Java小程序不工作
一位客户注意到我们的一个java小程序不再工作了。然而,我们无法说出问题所在 规格 网络应用程序是。它用于记录和组织口语,主要用于学校进行语言训练和储存,以备日后评估。该应用程序由一个HTML界面组成,由JavaScript管理。声音播放和录制是通过内部开发的。正如您在测试页面上看到的,小程序本身处于工作状态 但是,在Tipallo中,小程序(进一步称为soundrecorder)没有预加载的声音文件。由于Tipalo由多个声音文件组成,JavaScript会告诉soundrecorder要播放的文件。例如,如果希望播放foo.ogg,javascript会告诉soundrecorder播放 这种方法已经奏效好几年了,但现在不行了 错误追踪 问题是它在某些条件下确实有效。例如,它在本地开发人员机器和公共测试环境上工作。这对我们的客户来说已经不起作用了 工作示例:Java小程序不工作,java,javascript,applet,Java,Javascript,Applet,一位客户注意到我们的一个java小程序不再工作了。然而,我们无法说出问题所在 规格 网络应用程序是。它用于记录和组织口语,主要用于学校进行语言训练和储存,以备日后评估。该应用程序由一个HTML界面组成,由JavaScript管理。声音播放和录制是通过内部开发的。正如您在测试页面上看到的,小程序本身处于工作状态 但是,在Tipallo中,小程序(进一步称为soundrecorder)没有预加载的声音文件。由于Tipalo由多个声音文件组成,JavaScript会告诉soundrecorder要播放
非工作示例: 一些有用的事实:
- 两个示例都在同一台服务器上运行
- java小程序、js代码、html解析器和源代码都是共享资源。因此,两个示例都运行完全相同的代码
- 与此问题相关的文件有:soundrecorder.js和jrecord.jar。
命令位于soundrecorder.js:line 112中play
- 浏览器对不起作用的示例的反应不同。Safari/Mac游戏一切正常。然而,狩猎/胜利在游戏中冻结。Firefox4根本不播放任何东西。Firefox3.5/Mac又一次把一切都做好了。但是Firefox3.5/Win根本不玩任何游戏。IE9也有同样的问题。铬也是如此。Opera完全崩溃,需要重新启动。我们还没有在linux上找到一个可以在非工作示例上工作的浏览器。澄清一下:工作示例适用于所有平台上的所有浏览器,Safari/Win(meh)除外更新:取决于java版本。在Java6.20中,所有非工作示例都适用于所有浏览器。对于java 6.24,只有工作示例起作用。
- 我们尝试为我们的非工作示例(webX.sX.olefa.com)使用替代服务器url,这与工作示例类似。这次尝试失败了
- 我们尝试为soundrecorder使用相对路径(例如/path/foo.ogg)
- 我们尝试将Java更新到最新版本
- 我们尝试以不同的方式访问小程序
- 6个月前,我们遇到了一个类似的问题,这是由java更新引起的。我们在一个具有较旧java版本的VM上尝试了这个不起作用的示例。它起作用了。然而,我们怀疑java本身并不是罪魁祸首,因为相同的java版本/浏览器适用于工作示例
- Soundrecorder仅拒绝播放通过JS动态加载的文件。如果它在init上加载一个文件,那么就没有bug
- 小程序本身已加载。您可以通过指定宽度/高度使其可见。我怀疑java/js交互通信中存在问题(js告诉java玩什么,但通信有故障?)。然而,我还不能证实这一点
network: Cache entry not found [url: http://www.ecoles-dudelange.lu/resources/audio/_tiparlo_1594/ismael_20110405_11-17-47_3129344.ogg, version: null]
network: Connecting http://www.ecoles-dudelange.lu/resources/audio/_tiparlo_1594/ismael_20110405_11-17-47_3129344.ogg with proxy=DIRECT
network: Cache entry not found [url: http://85.119.157.43/crossdomain.xml, version: null]
network: Connecting http://85.119.157.43/crossdomain.xml with proxy=DIRECT
network: Connecting http://85.119.157.43:80/ with proxy=DIRECT
java.security.AccessControlException: access denied (java.net.SocketPermission 85.119.157.43 resolve)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkConnect(Unknown Source)
at sun.plugin2.applet.Applet2SecurityManager.checkConnect(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at lu.educdesign.audio.gui.JRecordApplet.load(Unknown Source)
URLhttp://85.119.157.43/crossdomain.xml
加载重定向到http://confixx.s2.olefa.com
提示输入用户名/密码
也许有一个很好的解释,但在我看来,表面上看,这可能是一个问题confixx听起来像一个配置错误。但是,我可以使用浏览器访问该文件。我会调查的。至少我们现在有了一个有效的线索。Thx mate.>“但是,我可以通过浏览器访问该文件。”-尝试清除cookies,看看您是否仍然可以访问它。是的,仍然有效。但在你的帮助下,我发现了一个类似的问题:。症状都匹配。我想知道CVE-2010-3560建议的4种变通方法中的哪一种解决了您的问题。