0

テキスト ファイルをロードする方法を理解するために、Web 上のさまざまなオプションを調べて、これを何時間も調べてきました。クロムからファイアフォックスに変更するまで、見つけた例のどれも動作しませんでした。例として、stackoverflow の質問のコード: HTML5 File api、xml/text ファイルを読み込んでページに表示しますか? 簡単にするためにここに書きます:

<!DOCTYPE html> 
<html> 
<head> 
<title>reading xml</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
</head>
<body>
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

<script>
  function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object

    // Loop through the FileList
    for (var i = 0, f; f = files[i]; i++) {

      var reader = new FileReader();

      // Closure to capture the file information.
      reader.onload = (function(theFile) {
        return function(e) {
          // Print the contents of the file
          var span = document.createElement('span');                    
          span.innerHTML = ['<p>',e.target.result,'</p>'].join('');
          document.getElementById('list').insertBefore(span, null);
        };
      })(f);

      // Read in the file
      reader.readAsText(f);
      // reader.readAsDataURL(f);
    }
  }

  document.getElementById('files').addEventListener('change', handleFileSelect, false);
  </script>
</body>

Firefoxでうまく機能します。クロムで動作させることができません。何が足りないの?! ありがとう。

Chromium 18.0.1025.168 (Developer Build 134367 Linux) Ubuntu 11.10 を使用しています

4

2 に答える 2

0

これでしょうか?

for (var i = 0, f; f = files[i]; i++) {

2番目の部分が条件付きであってはなりません。i < files.length のようなもの?

于 2012-10-11T14:20:24.620 に答える
0

セキュリティ上の理由から、ローカル ファイルをロードするには、コマンド ラインから次のコマンドを使用して chromium を呼び出す必要があります。

    chromium-browser --allow-file-access-from-files

注意: これを有効にするには、すべてのクロム ウィンドウを閉じる必要があります。

これのせいで4時間くらい損した…

于 2012-10-11T15:41:57.720 に答える