How to get USB devices List from Browser

前端 未结 7 1103
挽巷
挽巷 2021-01-04 07:13

What browser-based technology would allow me to query the client\'s currently connected USB devices - specifically name and device id of these. Of course, I\'m ok with the c

相关标签:
7条回答
  • 2021-01-04 07:45

    Impossible to do it with standard javascript.

    Might work with ActiveX(Only IE and Windows) or Flash or a browser extension(per OS).

    0 讨论(0)
  • 2021-01-04 07:46

    Hm, from the top of my head, I think XBAP might help you out. http://www.xbap.org/. From then on it's just c# with some #usblib.

    Edit Hm, it says that it runs executes in sandbox mode. And it seems to be IE-only pluggin. I guess XBAP is a miss.

    0 讨论(0)
  • 2021-01-04 08:03

    I'm a bit disappointed by the lack of trying to at least give me a partial solution. Although I wasn't able to find a browser-independent solution, I came up with one for IE on Windows, using WMI, more precisely the WbemScripting.SWbemLocator ActiveX Object. It's better than nothing, better than "you can't do that".

    So, for anyone else interested, here it is:

        function pollConnectedDevices()
        {
         var locator = new ActiveXObject("WbemScripting.SWbemLocator");
         var conn = locator.ConnectServer(".", "root\\cimv2");
         var result = conn.ExecQuery("Select * From Win32_USBHub");
         var enumer = new Enumerator(result);
    
         for (;!enumer.atEnd();enumer.moveNext ())
         {
           var hub = enumer.item ();
    
           alert(hub.Name + " " + hub.DeviceId);
         }
    
         setTimeout("pollConnectedDevices()",1000);
       }
       setTimeout("pollConnectedDevices()",1000);
    

    Yes, it is only on IE on Windows. Yes, it does need the user's permission to do its thing. But, YES, it is something, it is possible, it does what I need it to do.

    If anyone else knows another way - and I'm talking here about code, not opinions, I'm still looking for partial solutions for other browsers and OSes. USB device querying is an interesting thing to have and in spite of all the arguments, I say that "it's software, it's supposed to do something, not prevent you from doing something".

    0 讨论(0)
  • 2021-01-04 08:03

    IE ActiveX, IE toolbar, Netscape plugin wrapper (for Opera/Windows, Firefox/Windows, probably Chrome/Windows) => WMI. Presumably any such stuff would be banned by any scrapyard-grade antivirus software.

    You can: a> go that way, b> go with smart cards native support instead of making usb security dongles c> write your own software, that will start a webserver at 127.0.0.1 and access it from javascript on your page (where the installation download is offered).

    0 讨论(0)
  • 2021-01-04 08:04

    You can't do that from a Browser (with reasons). You'll need some plug-in that the user has to install.

    0 讨论(0)
  • 2021-01-04 08:04

    You will need to write yourself a plugin for this.

    0 讨论(0)
提交回复
热议问题