2012-10-11 4 views
0

저는 웹에서 여러 가지 옵션을 살펴보고 텍스트 파일을로드하는 방법뿐 아니라 복제하는 방법을 여러 차례 살펴 보았습니다. 크롬에서 파이어 폭스로 바뀌기 전까지는 내가 찾은 예제 중 아무 것도 작동하지 못했습니다. 예를 들어, 유래 문제의 코드 : 나는 단순 여기를 쓰기 HTML5 File api, reading in an xml/text file and displaying it on the page? :html5 + javascript에서 텍스트 파일을 읽는 중 결과는 브라우저에 따라 다릅니다.

<!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> 

파이어 폭스에서 잘 작동합니다. 나는 크롬으로 작동하지 않습니다. 나는 무엇이 없는가?! 감사.

내가 크롬 18.0.1025.168을 사용하고 있습니다 (개발자는 134,367 리눅스 빌드가) 우분투 11.10

+0

크롬 (22)와 나는 손을 가졌던와 크롬 15에서 나를 위해 작동합니다. (http://jsfiddle.net/EYrdE/). 다른 텍스트 파일을 사용해 보셨습니까? 어쩌면 번역에서 뭔가를 잃어 버렸을 수도 있습니다. 콘솔에 오류가 있는지 확인 했습니까? –

답변

0

는 사용 I 명령 줄에서 크롬을 호출해야 로컬 파일을로드 :

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

하 atention을 :이 걸릴 효과에 대한 모든 크롬 창을 닫해야합니다. 바로이 때문에 약 4 시간을 잃었

(후자의 이전에 대한 간단한 할 일 텍스트 파일 및 JSON)

+0

파일을 통해 실행하고 있었습니까? // url? –

+0

예 ... 안전한 방법이 있습니까? – cauchy

+0

글쎄, 나는 평소에 localhost 웹 서버를 통해 일을 실행했다. 왜냐하면 너 자신을 만났을 때 파일 기반 URL 문제를 봤기 때문이다. –

0

는이 될 수 있을까요?

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

두 번째 부분을 조건부로 사용하지 않아야합니다. 뭔가 내가 같은 < files.length?

보안상의 이유로
+0

저는 자바 스크립트를 처음 접했으므로 원래 코드를 그대로 두었습니다. 이 줄을'var (i = 0; i cauchy

+0

아마도 net.uk.sweet가 말했듯이 콘솔에서 어떤 것을 보았습니까? –

+0

콘솔이 비어 있습니다. 크롬 개발자 도구에 오류가 없습니다. 로컬 파일을 읽으려고 할 때 --allow-file-from-file을 사용하는 것과 관련이 있습니다. 크롬의 일부 버전에서는 분명히 문제였습니다. 그러나 문제에 대한 건전한 대응을 찾지 못했습니다. – cauchy

관련 문제