SYNCERのロゴ
アイキャッチ画像

WebSocket.onerror - 接続に失敗した時に発火するイベント

onerrorは、WebSocketのイベントです。ソケット通信で接続に失敗した時にerrorイベントが発生し、ここに設定したコールバック関数が呼び出されます。

概要

名前
onerror
所属
WebSocket
イベント
error
IDL
attribute EventHandler onerror;

typedef EventHandlerNonNull? EventHandler;

callback EventHandlerNonNull = any (Event event);
仕様書
https://html.spec.whatwg.org/multipage/web-sockets.html#handler-websocket-onerror

チュートリアル

onerrorでイベントを設定する例です。

var ws = new WebSocket( "wss://socket.syncer.jp/connect" ) ;
ws.onerror = function ( event ) {
	console.log( event ) ;
}

Event.addEventListener()でも、同様にイベントを設定できます。

ws.addEventListener( "error", function ( event ) {
	console.log( event ) ;
} ) ;

デモ

WebSocket.onerrorのデモです。「接続」をクリックした時、あえて存在しないサーバーに接続しようとしてエラーを発生させています。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<html>
<head>
<style>
	div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
	<p>
		<button id="hoge">接続</button>
	</p>
<hr>
	<div id="result"></div>
<script>
var ws = null ;
var element1 = document.getElementById( "hoge" ) ;

element1.onclick = function () {
	if ( ws && ws.readyState === 1 ) return false ;

	ws = new WebSocket( "wss://example.com/" ) ;

	ws.onerror = function ( event ) {
		console.log( event ) ;
		logUpdate( "通信に失敗しました。" ) ;
	}
}

var logUpdate = function ( text, noDate ) {
	var resultElement = document.getElementById( "result" ) ;
	resultElement.textContent = text + ( noDate ? "" : "(" + new Date().toLocaleString() + ")" ) + "\n" + resultElement.textContent ;
}
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
11+ 5.1+ 10+ 15+ 4.4+
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年10月4日 (水)
コンテンツを公開しました。