火狐 SecurityError The operation is insecure. 解决方案

先说一下遇到这个的情况,是测试发现在火狐下我写的前端读卡功能不起作用,经过查看发现有提示:SecurityError The operation is insecure.(该操作不安全)。这样就直接导致我的读卡功能被火狐禁止了。
经过查询资料,我发现要实现功能的时候在火狐建立的ws连接,火狐的员工说要用wss连接,我把ws连接,改成wss连接,发现读卡这一块好使了,但是登录那一块又不好使了。经过查阅资料我发现
第一:在系统登录的时候我使用的是http协议,但是登录到系统之后使用的是https协议。

第二:在火狐中http建立的是ws链接,但是https建立的wss链接,也就是因为在火狐环境下,https不能使用ws链接,才导致我的读卡功能不能用。

第三:你还可以知道火狐和低版本的谷歌,需要做兼容性处理,使其在Http协议下使用ws,在https协议下使用wss.

let protocol = location.protocol == 'https'
		?'wss://localhost:8080/server'
		:'ws://localhost:8000/server';
		
		cardSocket.connet = function(){
			socket = new wsSocket(protocol);
		}

你可能感兴趣的:(通信协议)