JavaScript не может получить пакеты Java через расширение Google Chrome

JavaScript не может получить значения EiD из Java в JavaScript. Как я могу это исправить?

JavaScript, расширение Google Chrome:

port.onMessage.addListener(function(message) { // from .exe
  sendToWebSite(JSON.stringify(message));
}); 

Java отправляет данные EiD в JavaScript:

public static void sendMessage(String msgdata) {
    try {
      int dataLength = msgdata.length();
      System.out.write((byte) (dataLength & 0xFF));
      System.out.write((byte) ((dataLength >> 8) & 0xFF));
      System.out.write((byte) ((dataLength >> 16) & 0xFF));
      System.out.write((byte) ((dataLength >> 24) & 0xFF));

      // Writing the message itself
      System.out.write(msgdata.getBytes());
      System.out.flush();
    } catch (IOException e) {
      JOptionPane.showMessageDialog(null, "error in sending message to JS");
    }
  }

msgdata = как показано ниже

1 ответ

Решение

Следующие работы.

  String tmp = Beid.bid(); //big string with \n and hash picture:
  String[] output = tmp.split("picture:"); 
  tmp = output[0]; //how to avoid split picture:?

  tmp = tmp.replaceAll("(\r\n|\n)", "<br/>");
  sendMessage("{\"msg\" : \"" + tmp + "\"}");

РЕДАКТИРОВАТЬ:

  • Windows 10 не работала, потому что у нее была старая Java, после установки Java 8 она работала.
Другие вопросы по тегам