Чтение данных из текстового файла в JavaScript - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь создать сложный веб-сайт и хочу разделить его на несколько файлов, одним из которых является сам контент, и для этого я хочу создать функцию, которая изменяет контент div из файла.

Весь код:

<html>
    <body onLoad = "uploadData();">
        <div id = "text"> </div>
    </body>
    <script>
    function uploadData()
    {
        var file = new File("data");
        file.open("r");
        var data = "";
        while (!file.eof) {
            data += file.readln() + "\n";
        }
        file.close();
        alert(data);
        document.getElementById('text').innerHTML = data;
    }
    </script>
</html>

Код содержит ошибку в строке 7. Пожалуйста, помогите мне !!!

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Вы не можете читать из файла таким способом в современном браузере из-за соображений безопасности (сценарии песочница ).

Возможно, вы взяли эти функции из очень старой и нестандартной ссылки на Javascript, такой как Справочник программиста JavaScript (от Клиффа Вуттона, 2001) или Чистый JavaScript (Чарлтон Тинг, Джейсон Гиллиам, Аллен Р. Уайк, 1999). Это очень антикварные руководства, в которых рассматриваются устаревшие версии браузера (Internet Explorer 4 ...).

Вы также можете найти те функции или аналогичный набор в API, предоставляемых механизмами JS, такими как Adobe InDesign, NodeJS или ShellJS, , которые не являются механизмами браузера . Работа с движком JS не означает, что вы найдете тот же API, что и другой. Как правило, вы не будете делать то же самое с NodeJS и движком Firefox JS (OdinMonkey в настоящее время).

Если вы хотите динамически изменять содержимое вашей страницы (т.е. ее структуру DOM) с помощью внешнего ресурса (файла, расположенного на вашем сервере), используйте методы Ajax .

Наконец, в этом вопросе SO , вы найдете несколько способов получить содержимое локального файла, но они должны были быть выбраны пользователем вручную .

0 голосов
/ 10 ноября 2018

Если вы создаете сложный веб-сайт, вам нужен веб-сервер. Предположим, что ваш контент не нуждается в рендеринге на стороне сервера, и у вас установлен Apache, тогда простая XHR-функция может помочь вам извлечь контент. Если обычный XHR не поможет, jQuery, возможно, может облегчить ситуацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...