ロゴ:EPSON
ロゴ:よくあるご質問(FAQ)

製品別
質問別

URLをクリップボードにコピーしました
シェア用URL:https://faq2.epson.jp/web/Detail.aspx?id=36016
  FAQ番号:36016
ステータス変化イベントを発生させる方法<ePOS SDK for JavaScript>
キャッシュドロアーを開閉しても、レシートプリンターのカバーを開閉しても oncoverok、oncoveropen、ondrawerclosed、ondraweropen といったイベントが発生しません。
 
 

Printer オブジェクトによるプリンターステータスの取得、更新を有効にするためには startMonitor メソッドを実行する必要があります。
startMonitor メソッドの実行後、interval プロパティで指定した間隔でプリンターステータスを取得、更新します。
以下のイベントに取得、更新したプリンターステータスを渡します。

  • onstatuschange イベント
  • onbatterystatuschange イベント
  • ononline イベント
  • onoffline イベント
  • onpoweroff イベント
  • oncoverok イベント
  • oncoveropen イベント
  • onpaperok イベント
  • onpapernearend イベント
  • onpaperend イベント
  • ondrawerclosed イベント
  • ondraweropen イベント
  • onbatteryok イベント
  • onbatterylow イベント

プリンター別にサポートしている API は異なります。
どのプリンターがどのイベントをサポートしているかは、Epson ePOS SDK for JavaScript に付属しているユーザーズマニュアルでご確認ください。

使用例

var ipAddress = null;
var port      = null;

var printer = null;

var ePosDev = new epson.ePOSDevice();

function connect() {
  ipAddress = '192.168.192.168';
  port = '8008';

  ePosDev.connect(ipAddress, port, Callback_connect);
}

function Callback_connect(data) {
  var deviceID = 'local_printer';
  var options = {'crypto' : false, 'buffer' : false};

  if (data == 'OK') {
     ePosDev.createDevice(deviceID, 
                       ePosDev.DEVICE_TYPE_PRINTER, 
                       options, 
                       callbackCreateDevice_printer);

  }else if (data == 'SSL_CONNECT_OK') {
     ePosDev.createDevice(deviceID, 
                       ePosDev.DEVICE_TYPE_PRINTER, 
                       options, 
                       callbackCreateDevice_printer);
  } else {
     alert("connected to ePOS Device Service Interface is failed.");
  }
}

function callbackCreateDevice_printer(data, code) {
  if (data == null) {
     alert(code);
     return;
  }

  printer = data;

  printer.onreceive = function (res) {
     alert('Print ' + (res.success ? 'Success' : 'Failure'));
  };

  printer.ononline = function () {
     alert('online');
  };

  printer.onoffline = function () {
     alert('offline');
  };

  printer.oncoverok = function () {
     alert('coverok');
  };

  printer.oncoveropen = function () {
     alert('coveropen');
  };

  printer.ondraweropen = function () {
     alert('draweropen');
  };
}

function startMonitor() {
  printer.startMonitor();
}

function stopMonitor() {
  printer.stopMonitor();
}

スマートレシートプリンター TM-T70-i,TM-T88V-i
モバイルプリンター TM-P20,TM-P60II
PC一体型プリンター TM-T70II-DT,TM-T88V-DT
TMシリーズ TM-L90 オートカッターモデル,TM-T70II,TM-T88V,TM-T90 KP,TM-T90II,TM-m10,TM-m30
FAQ改善アンケート

このページの評価をお聞かせください。〇✖をお選びください。

 

■役に立った
■役に立たなかった