0

我是空调的新手,我刚刚学习它,所以也许这很常见。我在 screen.html 有这个:

<html>
  <head>
    <script type="text/javascript" src="https://www.airconsole.com/api/airconsole-1.7.0.js"></script>
    <script type="text/javascript">
    var air_console = new AirConsole();

    // Listen for messages from other devices
    air_console.onMessage = function(from, data) {

      // We receive a message -> Send message back to the device
      air_console.message(from, "Full of pixels!");

      // Show message on device screen
      var info = document.createElement('DIV');
      info.innerHTML = data;
      document.body.appendChild(info);
    };
    </script>
    <style type="text/css">
      color: white;
    </style>
  </head>
  <body>

  </body>
</html>

我在controller.html中有这个

<html>
<head>
  <script type="text/javascript" src="https://www.airconsole.com/api/airconsole-1.7.0.js"></script>
  <script type="text/javascript">
    var air_console = new AirConsole();

    // Send a message to the screen
    air_console.message(AirConsole.SCREEN, "How are you?");

    // Listen for messages
    air_console.onMessage = function(from, data) {

      // Show message on device screen
      var info = document.createElement('DIV');
      info.innerHTML = data;
      document.body.appendChild(info);
    };
  </script>
    <style type="text/css">
      color: white;
    </style>
</head>
<body>

</body>
</html>

我在他们两个中都遇到了这个错误:

Uncaught TypeError: Cannot read property 'undefined' of undefined
    at AirConsole.onPostMessage_ (airconsole-1.7.0.js:1012)
    at airconsole-1.7.0.js:927

当然,屏幕上什么也没有。我的错误是什么,我该如何解决?

4

1 回答 1

0

在发送消息之前,您需要等待onReady事件:

<html>
<head>
  <script type="text/javascript" src="https://www.airconsole.com/api/airconsole-1.7.0.js"></script>
  <script type="text/javascript">
    var air_console = new AirConsole();

    air_console.onReady = function() {
      // Send a message to the screen
      air_console.message(AirConsole.SCREEN, "How are you?");
    }

    // Listen for messages
    air_console.onMessage = function(from, data) {

      // Show message on device screen
      var info = document.createElement('DIV');
      info.innerHTML = data;
      document.body.appendChild(info);
    };
  </script>
    <style type="text/css">
      color: white;
    </style>
</head>
<body>

</body>
</html>
于 2017-09-26T12:56:36.333 回答