метод апплета вызова Java от проблемы javascript - PullRequest
0 голосов
/ 14 августа 2011

У меня проблема при вызове метода апплета из javascript ..

Я использовал эту функцию для загрузки апплета

$("body").append('<applet id="asra" name="asra" code="akorbulsoundrecorder/recorder.class" archive="http://localhost/.../java/akorbulSoundRecorder.jar" width="300" height="400" MAYSCRIPT></applet>');

и я могу вызвать функцию апплета javascript, проблем нет;

но

alert(1);
document.asra.stopCapture();
alert(2);

alert(1) и document.asra.stopCapture(); работает, но alert(2) не работает?

функция stopCapture

public void stopCapture() {

    AccessController.doPrivileged(new PrivilegedAction() {
        public Object run() {



            if(!test)
            jso.call("__appletRecord", new String[] {"stop"});

            targetDataLine.stop();
            targetDataLine.close();


            String filename = audioFile.getAbsolutePath();
            try {
                final ArrayList < String > cmd = getCommand(filename);
                if(!test)
                jso.call("__appletRecord", new String[] {"convertMp3"});
                Main.main(cmd.toArray(new String[cmd.size()]));
                if(!test)
                jso.call("__appletRecord", new String[] {"deleteWav"});
                //audioFile.delete();
            } catch (IOException e1) {
                System.err.println(e1.getMessage());
            }


            try {
                // Establish a connection
                if(!test)
                jso.call("__appletRecord", new String[] {"upload"});
                httpUrlConnection = (HttpURLConnection) new URL("http://localhost/.../java/upload.php").openConnection();
                httpUrlConnection.setDoOutput(true);
                httpUrlConnection.setRequestMethod("POST");
                outputStream = httpUrlConnection.getOutputStream();
                // Buffered input stream
                fileInputStream = new BufferedInputStream(new FileInputStream("c:\\junk.mp3"));
                // Get the size of the image
                totalBytes = fileInputStream.available();
                // Loop through the files data
                for (int i = 0; i < totalBytes; i++) {
                    // Write the data to the output stream
                    outputStream.write(fileInputStream.read());
                    bytesTrasferred = i + 1;
                }
                // Close the output stream
                outputStream.close();
                if(!test)
                jso.call("__appletRecord", new String[] {"success"});
                // New reader to get server response
                serverReader = new BufferedReader(new InputStreamReader(httpUrlConnection.getInputStream()));
                // Read the servers response
                serverResponse = "";
                while ((response = serverReader.readLine()) != null) {
                    serverResponse = serverResponse + response;
                }
                if(!test)
                jso.call("__appletPHPResponse", new String[] {response});
                // Close the buffered reader
                serverReader.close();
                // Close the file input stream
                fileInputStream.close();
            } catch (IOException ex) {
                jLabel1.setText(ex.getMessage());
            }

            return null; // nothing to return
        }
    });

}

1 Ответ

1 голос
/ 27 марта 2012

Причина

Причина, по которой Java не работает в IE9, заключается в том, что апплет Java был заблокирован фильтрацией ActiveX;это новая функция в IE9.Решение состоит в том, чтобы временно отключить фильтрацию ActiveX.

1) Как включить фильтрацию Activex -> Перейти к инструментам в IE9 и нажать на фильтрацию Activex, затем отметьте галочкой перед опциейисчезнет.(Это означает, что опция отключена.) Если ее там нет, она уже отключена.

Если вы включили загрузку Java в IE9, вы можете столкнуться с проблемой, которая вызывает сбой веб-страницы на Java.Мы также можем решить эту проблему, включив опцию просмотра совместимости в IE9.Если вы включили опцию «Совместимость», то добавьте, какой адрес вам нужен, чтобы он содержал java-апплет.

2) Как включить представление «Совместимость» в IE9 -> «Перейти к инструментам» и нажмите «Параметры представления совместимости»затем нажмите кнопку «Добавить» и добавьте веб-сайт.Чтобы удалить веб-сайт из представления «Совместимость», просто вернитесь в «Параметры представления совместимости» и удалите сайт из списка «Просмотр совместимости».

Вы можете выполнить следующие действия: http://chuyenhang24.com или http://raovat2424.com

...