Java Applet从HTML页面中删除所有内容

时间:2015-01-13 11:53:37

标签: java javascript html applet

我有以下Java Applet,它发出简单的声音:

import java.applet.*; 
import java.awt.Graphics;
import java.net.MalformedURLException;
import java.net.URL;

public class Sound extends Applet { 
    AudioClip soundFile1; 

    public void init() {             
        soundFile1 = getAudioClip(getDocumentBase(),"collectgarments_alreadyassigned.wav"); 
        soundFile1.play(); 
    }
}

我想在HTML页面中使用此applet,该页面位于.net项目中。我希望它能够被部署,例如在onClick上发出声音,所以我试图创建一个JavaScript方法来播放声音。

到目前为止,我有以下内容:

function Sound() {
    var attributes = { id:'SoundApplet', code:'Sound.class', archive:'Java/Sound.jar', width:0, height:0} ;
    var parameters = { permissions:'sandbox'} ;
    deployJava.runApplet(attributes, parameters, '1.6');
} 

此方法发出声音,但它也会使所有HTML在屏幕上消失。

我可以想到的可能原因是Applet试图重写页面上的所有HTML但是没有给任何HTML写入?

如果是这样,一个可能的解决方案可能是将它包含在一个div中,类似于div设置为`display =“none”',但我不知道怎么做,因为这是一个声音不是视觉方面。

也许我的想法是完全错误的,而且完全是另一回事。

我在互联网上找不到任何相关内容,互联网浏览器调试器也无济于事。

其他人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。我不知道这是有效的原因,但确实如此:

function Sound()
    {
        var app = document.createElement('applet');
        app.id= 'SoundApplet';
        app.archive= 'Java/Sound.jar';
        app.code= 'Sound.class';
        app.width = '0';
        app.height = '0';
        document.getElementsByTagName('body')[0].appendChild(app);
    }