Когда создаю websocket secure в javascript, который подключается к сайту с self-signed certificate, состояние выполения кода даже не попадает в метод ws.onopen, а сразу попадает в ws.onclose(error_code), где error_code говорит нам лишь о abnormal socket closing.
Основную информацию несет в себе osstatus error, который отображает сам Safari, но способа обработать его в js я не нашел. Ктстати вот он
"osstatus error 9807 invalid certificate chain"
Поведение вполне ожидаемое, я не ищу способа исправления этого поведения, лишь хочу добавить информативности для пользователя, путем выведения информации об обшибке и пути ее избежать.
Кодец:
try {
ws = new WebSocket(wsAddress);
}
catch (ex) {
ShowDialog("There was an error while attempting to open a WebSocket connection to the server.", "Close", function () { window.close(); });
return;
}
ws.onopen = function (openEvent) {
...
};
ws.onerror = function (errorEvent) {
...
};
ws.onclose = function (closeEvent) {
ws_connected = false;
if (closeEvent.code != 1000) {
...
}
};
В catch мы не попадаем, в onerror мы не заходим...
Буду рад, если кто-то мне поможет)