search

Home  >  Q&A  >  body text

node.js - 在nodejs官网点击下载install,它是怎么判断我的电脑是32位还是64位?

在nodejs官网点击下载install,它是怎么判断我的电脑是32位还是64位的

迷茫迷茫2787 days ago647

reply all(2)I'll reply

  • ringa_lee

    ringa_lee2017-04-17 11:24:45

    navigator.userAgent, please check the 148 lines of source code yourself.

     window._gaq = [['_setAccount', 'UA-10874194-2'], ['_trackPageview']];
      (function(d, t) {
        var g = d.createElement(t),
            s = d.getElementsByTagName(t)[0];
        g.src = '//www.google-analytics.com/ga.js';
        s.parentNode.insertBefore(g, s);
      }(document, 'script'));
      ;(function(d,n) {
        var os = n.platform.match(/(Win|Mac|Linux)/);
        var x = n.userAgent.match(/x86_64|Win64|WOW64/) ||
                n.cpuClass === 'x64' ? 'x64' : 'x86';
        var base = 'http://nodejs.org/dist/v0.10.32/';
        var href = 'node-v0.10.32.tar.gz';
        var db = d.getElementById('downloadbutton');
        var d2;
        switch (os && os[1]) {
          case 'Mac':
            href = 'node-v0.10.32.pkg';
            break;
          case 'Win':
            href = 'node-v0.10.32-' + x + '.msi';
            if (x === 'x64') href = 'x64/' + href;
            break;
    
          // TODO uncomment when we have these
          // case 'Linux':
          //   // two buttons: .deb and .rpm
          //   href = 'node-v0.10.32-' + x + '.rpm';
          //   var d2 = document.createElement('a');
          //   d2.href = base + 'node-v0.10.32-' + x + '.deb';
          //   d2.className = 'button downloadbutton';
          //   d2.innerHTML = 'INSTALL .deb';
          //   db.innerHTML = 'INSTALL .rpm';
          //   db.parentNode.insertBefore(d2, db);
          //   break;
        }
    
        db.href = base + href;
        // if there's one download option, then download it at #download
        if (location.hash === '#download' && !d2)
          location.replace(b.href);
      })(document,navigator);
    

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:24:45

    Use userAgent:

    console.log(navigator.userAgent);
    

    Under 64-bit Linux (my computer) the display is

    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36

    Basically, if it is 64-bit, there will be the words x86_64 or 64bit. On the contrary, it is 32-bit.

    reply
    0
  • Cancelreply