谷歌chrome - Javascript程序不工作在Windows 7机器

google chrome - Javascript program not working in Windows 7 machine

本文关键字:Windows 机器 工作 chrome Javascript 程序 谷歌      更新时间:2023-09-26

我开发了一个Javascript程序,它在Windows 8电脑上运行良好,但在Windows 7上运行不了。

这个程序有一个按钮,允许用户选择一个文件并在文本区显示内容。

该网页在以下版本中进行了测试:

在Windows 7 - Chrome 20.0.1132.47 m和IE7在Windows 8 - Chrome上的20.0.1132.47 m和IE9

可能是因为不同的Windows版本吗?无论如何,通过调整机器配置或程序代码来克服它?如果是由于后者,我愿意附上代码。

谢谢。

这是一个从文件中解密一些文本的程序。按钮允许用户从"打开对话框"中选择文件。选择后,内容将显示在输入文本区。

请忽略下面的"readByLine"answers"readKeyword"模块,因为它们存在一些问题。

不确定Chrome 20.0.1132.47 m和IE7是否支持HTML5。

附加如下代码:

<html>
<head>
<script type="text/javascript">
//Select a Cipher file from Open Dialog Box
function readCipherFile()
{           
    if (!window.FileReader)
      document.getElementById("cipher").innerHTML = "<p>This browser doesn''t support File API</p>";
    else
    {
        // Input handler for cipher text
        document.getElementById("cipherfile").onchange = function() { 
                                                    readFileAsText(this.files[0]);
                                                    };
    }
}
//Read content as text and display in Input textarea
function readFileAsText(file)
{
    var reader = new FileReader();
    reader.readAsText(file);
    reader.onload = function(event) {
      document.getElementById("cipher").innerHTML = event.target.result;
    };
    reader.onerror = function() {
      document.getElementById("cipher").innerHTML = 'Unable to read ' + file.fileName;
    };
}
//Select a Keyword file from Open Dialog Box
function readKeyword()
{
    if (!window.FileReader)
      document.getElementById("keyword").innerHTML = "<p>This browser doesn''t support File API</p>";
    else
    {
        // Input handler for keyword
        document.getElementById("keyfile").onchange = function() { 
                                                    readByLine(this.files[0]);
                                                    };
    }
}
//Read and display one keyword at a time
function readByLine(file)
{
    var reader = new FileReader();
    var arr = "";
    console.log("test" + arr);
    console.log(file);
    reader.onload = function(event) {
      arr = event.target.result;
    };
    reader.readAsText(file);        
    for(i=0; i<arr.length; i++)
    {
        arr = arr.split("'n");
        document.getElementById("keyword").value = arr;
    }
    //display the next keyword when button is clicked
    var keyButton = document.getElementById("keyfile");
    keyButton.addEventListener("click", readByLine, false);
}
</script>
</head>
<body>
<center>
<h2>Vigenere Cipher</h2>
<br>
    <form name="form1">
      <table>
         <tr>
           <td>
             Input:
           </td>
           <td>
              <textarea name=input id="cipher" rows=10 cols=60 wrap=virtual></textarea>
           </td>
         </tr>
     <tr>
    <td></td>
    <td align="center">
        <input type=file id="cipherfile" onClick="readCipherFile(this)" />
    </td>
     </tr>
     <tr height="20px"></tr>
    <tr>
      <td>
        Key:
      </td>
      <td>
        <textarea name=key id="keyword" rows=2 cols=60 wrap=virtual></textarea>
      </td>
      <tr>
        <td></td>
        <td align="center">
            <input type=file id="keyfile" onClick="readKeyword()" />
        </td>
      </tr>
    </tr>
    <tr>
        <td></td>
        <td></td>
    </tr>
    <tr>
      <td></td>
      <td>
        <input type=button value="Decrypt" onClick="decode()" style="margin-left: 135px">
      </td>
    </tr>
      <td>
        Output:
      </td>
      <td>
        <textarea id="output" rows=10 cols=60 wrap=virtual></textarea>
      </td>
    </table>
</form>
</center>
</body>
<html>