如何在if / else语句中使用从文件读取的blob?

时间:2016-07-10 16:14:13

标签: javascript html

我正在尝试从localhost文件(下载的html文件)中读取一个字符,并在if / else语句中使用它。

这是我在网上找到的只有适度修改的代码。它成功地指定了指定的字符并在单击其中一个按钮时显示它,但是当我尝试在if / else语句中使用它时(通过单击操作按钮),我没有成功。应该发生什么,是if / else语句使用该字符来确定如何修改var mywin中的window.open语句。我不确定如何在if / else语句中使用blob。谢谢你的帮助。

'功能工作()'是我被困的地方。

以下是源文件的代码(下载的html网页)

 <small><a href="http://192.168.089/30000"></a></small><a href="http://192.168.089/30000/0101101001011010">0101101001011010</a><p>

这是我正在编写的html文件的代码,它试图使用if / else语句。

<!DOCTYPE html>
<HTML>
<HEAD>
<script>
  function job(){
var action;
  if (blob = '0') {
    action = '06';
  } else {
    action = '05';
  } 
     var mywin = window.open('http://192.168.0.89/30000/' +action,'','');
      setTimeout(function() { mywin.close();}, 3000);
    }
  </script>
<style>
  #byte_content {
    margin: 5px 0;
    max-height: 100px;
    overflow-y: auto;
    overflow-x: hidden;
  }
  #byte_range { margin-top: 5px; }
</style>
<input type="file" id="files" name="file" /> Read bytes: 
<span class="readBytesButtons">
  <button data-startbyte="89" data-endbyte="89">Relay 1</button>
  <button data-startbyte="90" data-endbyte="90">Relay 2</button>
  <button data-startbyte="91" data-endbyte="91">Relay 3</button>
  <button data-startbyte="89" data-endbyte="104">All Relays</button>
  <button>entire file</button>
<input type=submit value='Action' onclick='job();' />
</span>
<div id="byte_range"></div>
<div id="byte_content"></div>
<script>
  function readBlob(opt_startByte, opt_stopByte) {
    var files = document.getElementById('files').files;
    if (!files.length) {
      alert('Please select a file!');
      return;
    }
    var file = files[0];
    var start = parseInt(opt_startByte) || 0;
    var stop = parseInt(opt_stopByte) || file.size - 1;
    var reader = new FileReader();
    // If we use onloadend, we need to check the readyState.
    reader.onloadend = function(evt) {
      if (evt.target.readyState == FileReader.DONE) { // DONE == 2
        document.getElementById('byte_content').textContent = evt.target.result;
        document.getElementById('byte_range').textContent = 
            ['Read bytes: ', start + 1, ' - ', stop + 1,
             ' of ', file.size, ' byte file'].join('');
      }
    };
    var blob = file.slice(start, stop + 1);
    reader.readAsBinaryString(blob);
  }
  document.querySelector('.readBytesButtons').addEventListener('click', function(evt) {
    if (evt.target.tagName.toLowerCase() == 'button') {
      var startByte = evt.target.getAttribute('data-startbyte');
      var endByte = evt.target.getAttribute('data-endbyte');
      readBlob(startByte, endByte);
    }
  }, false);
</script>

0 个答案:

没有答案