【解決方法】activexobject の代替

プログラミングQA


Omnikey 5022 リーダーを使用してカードを読み取り、
カードをリーダーに接続するために、カードからデータを取得して DLL を実装しました。

ActiveXObject

IE ブラウザのみに制限されています。 私たちはそれに代わるものを求めています。 Google Chrome や Opera などで Omnikey 5022 を使用できるようにします。

前もって感謝します。

私が試したこと:

function testcomm()
{            
	try
	{
		var testobj;
		var a ;		
		testobj = new ActiveXObject("TMHDLL.DLL");		
		a= testobj.GetEmpCode("2B3H212B5H21");		
		alert(a);		
	}
	catch(e)
	{
		alert( e.message);
		return false;
	}
}

解決策 1

ActiveX に代わるものはありません。その理由は、これまで IE にのみ追加されていた (そして後で既定でオフになった) 理由と同じです。
簡単に言えば、テクノロジー全体が、システム全体をサーバーに開放する巨大なセキュリティ ホールでした。

また、ActiveX はブラウザーにしか実装されていなかったため、現在ではほとんど誰も使用していないため、デバイスの製造元に連絡して提案を確認するしかありません。

解決策 2

知っているのはデバイスのメーカーだけです。 これは、開発ポータルへのリンクです。 答えを得るために彼らと話してください: 開発者センター | HID グローバル[^]

解決策 3

他の前述のように、ActiveX コントロールはサポートされなくなりましたが、次の代替解決策を使用できます。

* Build a Console / GUI Application/Service that will be installed on the machine on which the card gets connected
* build a web socket server that will expose interface for card reading in above console application
* Build a

Web ソケット サーバーと統合する、react / angular / JavaScript の Web ソケット クライアント アプリ。

この Web ソケット クライアントを通じて、カード リーダーを読み取るための命令を渡すことができます。

以下から読み取りサンプルを見つけることができます
GitHub – hidglobal/HID-OMNIKEY-Sample-Codes: OMNIKEY スマート カード リーダーのサンプル コード。 アプリケーションには、ソフトウェア開発者ガイドに基づく読者の機能の簡単な例が含まれています。[^]

これが最初の出発点になることを願っています。

ありがとう

コメント

タイトルとURLをコピーしました