2015-02-23 3 views
1

Я хочу знать, есть ли какие-либо методы, кроме чтения файлов api и XMLHttprequest(), чтобы читать/загружать текстовые файлы, которые поддерживают почти все веб-браузеры.
Я не использую xmlhttprequest(), так как он не может быть запущен в нескольких браузерах, например, хром (так как он имеет ошибку) you may find it here Я хотел бы знать чистые методы javascript/html для этого и хотел бы избежать скриптов php и django.Чтение файла в html

Я попробовал следующий метод XMLHttpRequest

<!doctype html> 
<html> 
<head> 
    <body> 
    <script> 
    if (window.File && window.FileReader && window.FileList && winddow.Blob) { //alert('Great success! All the File APIs are supported.'); 
} 
    else { 
    alert('The File APIs are not fully supported in this browser.'); 
} 
var req = new XMLHttpRequest(); 
req.open('GET', 'text.txt'); 
req.onreadystatechange = function() { 
    if (req.readyState == 4) { 
    if (req.status == 200) { 
     var lines = req.responseText.split(/\n/g); 
     lines.forEach(function(line, i) { 
     alert(line); 
     }); 
    } else { 
     (alert("please update your browser,this webpage doesnt have  support for your browser")) 
    } 
    } 
} 
req.send(); 
    </script> 
    </body> 
</head> 
</html> 

Это работает в Firefox 35.0.1
Но когда я пытаюсь использовать его в хроме не работает
Но если удалить условие if(req.status==200) тогда я получаю одно предупреждение, у которого нет текста.

+0

Итак, запустите хром, чтобы разрешить доступ к файлам. – epascarello

+0

Пожалуйста, покажите нам код, который у вас есть. –

+0

Ах знаменитые коды статуса http. 200: «ОК», а не 200: «обновите свой браузер» – Winchestro

ответ

1

Управляемый пользователем файл-api и скриптовый XMLHTTPRequest являются в значительной степени единственными параметрами. Кроме того, вам может повезти с java или flash или silverlight (и т. Д.) (Я оставлю это до других ответов на данный момент).

Альтернативы для вашего собственного (развития) машины:
Для хрома можно позволить XMLHttpRequest получить доступ к файлам из других файлов с помощью:
--allow-file-access-from-files
Это было бы, по крайней мере безопаснее затем с помощью: --disable-web-security

Другой быстрый решение будет «крошечным»: https://www.ritlabs.com/en/products/tinyweb/download.php
Мне нравится, потому что это маленький !! Затем (либо с помощью обратного IP-соединения, либо с помощью IP-адреса локального компьютера или имени хоста через файл хоста) я обойду эти ограничения, очищая путь для файлов cookie/песочницы/локального хранилища и проблемы, которые вы пытаетесь решить.

Однако это не помогает с простым распространяемым html/javascript-приложением ... Как вы указали, в настоящий момент это «won't-fix» для chrome.

0

Если у вас есть доступ к текстовому файлу, вы можете изменить его, чтобы быть

var text = "ORIGINAL TEXT" 

И добавить файл в качестве тега сценария.

Смежные вопросы