Java小程序不工作

Java小程序不工作,java,javascript,applet,Java,Javascript,Applet,一位客户注意到我们的一个java小程序不再工作了。然而,我们无法说出问题所在 规格 网络应用程序是。它用于记录和组织口语,主要用于学校进行语言训练和储存,以备日后评估。该应用程序由一个HTML界面组成,由JavaScript管理。声音播放和录制是通过内部开发的。正如您在测试页面上看到的,小程序本身处于工作状态 但是,在Tipallo中,小程序(进一步称为soundrecorder)没有预加载的声音文件。由于Tipalo由多个声音文件组成,JavaScript会告诉soundrecorder要播放

一位客户注意到我们的一个java小程序不再工作了。然而,我们无法说出问题所在

规格 网络应用程序是。它用于记录和组织口语,主要用于学校进行语言训练和储存,以备日后评估。该应用程序由一个HTML界面组成,由JavaScript管理。声音播放和录制是通过内部开发的。正如您在测试页面上看到的,小程序本身处于工作状态

但是,在Tipallo中,小程序(进一步称为soundrecorder)没有预加载的声音文件。由于Tipalo由多个声音文件组成,JavaScript会告诉soundrecorder要播放的文件。例如,如果希望播放foo.ogg,javascript会告诉soundrecorder播放

这种方法已经奏效好几年了,但现在不行了

错误追踪 问题是它在某些条件下确实有效。例如,它在本地开发人员机器和公共测试环境上工作。这对我们的客户来说已经不起作用了

工作示例:
非工作示例:

一些有用的事实:

  • 两个示例都在同一台服务器上运行

  • java小程序、js代码、html解析器和源代码都是共享资源。因此,两个示例都运行完全相同的代码

  • 与此问题相关的文件有:soundrecorder.js和jrecord.jar。
    play
    命令位于soundrecorder.js:line 112中

到目前为止我们所知道的
  • 浏览器对不起作用的示例的反应不同。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玩什么,但通信有故障?)。然而,我还不能证实这一点

一般来说,我们无法找出为什么在完全相同的条件下运行的完全相同的代码在一个站点上工作,而在另一个站点上却不工作

解决方案 解决方案是评论的一部分。可以找到问题和解决方案。感谢Ryan为我们指出了正确的方向。

我在windows(Java 1.6.0_24)上使用FF4,并且能够在上看到小程序

然而,当我点击页面底部的蓝色播放图标时,按钮上方窗格中的所有笑脸看起来都是“墨西哥波”风格的。令人印象深刻:)

我确实查看了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)

URL
http://85.119.157.43/crossdomain.xml
加载重定向到
http://confixx.s2.olefa.com
提示输入用户名/密码


也许有一个很好的解释,但在我看来,表面上看,这可能是一个问题

confixx听起来像一个配置错误。但是,我可以使用浏览器访问该文件。我会调查的。至少我们现在有了一个有效的线索。Thx mate.>“但是,我可以通过浏览器访问该文件。”-尝试清除cookies,看看您是否仍然可以访问它。是的,仍然有效。但在你的帮助下,我发现了一个类似的问题:。症状都匹配。我想知道CVE-2010-3560建议的4种变通方法中的哪一种解决了您的问题。