Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Чтение строчки из файла (https://javascript.ru/forum/misc/39550-chtenie-strochki-iz-fajjla.html)

ml227 03.07.2013 20:24

Чтение строчки из файла
 
Есть страница по адресу http://......../page.php

Как из нее прочесть строчку определенного номера?(присвоить переменной)

Мне не нужен исходник page.php , нужен только результат выполнения в html.

bes 03.07.2013 20:49

загрузи во фрейм
<body>
<script>
alert(document.body.innerHTML.match(/\n/g).length);
</script>


<iframe src="http://lookatcode.com/" onload="alert(this.contentWindow.document.body.innerHTML.match(/\n/g))"></iframe>

danik.js 04.07.2013 05:28

Ну фрейм то создавать не обязательно, можно и через XMLHttpRequest запросить..

vadim5june 04.07.2013 05:46

Цитата:

Сообщение от bes
<iframe src="http://lookatcode.com/" onload="alert(this.contentWindow.document.body.inn erHTML.match(/\n/g))"></iframe>

не работает-null
чужой домен

danik.js 04.07.2013 06:15

Цитата:

Сообщение от vadim5june
чужой домен

Ну здрасьте. А в каком контексте по твоему все скрипты тут запускаются? В javascript.ru чтоли? Ответ видимо просто пустой.

danik.js 04.07.2013 06:42

<script>var url = 'http://lookatcode.com/files/tutorial/browser/dom/metric.html';

function getLines(source){
    var document = window.document.implementation.createHTMLDocument();
    document.open();
    document.write(source);
    document.close();
    var lines = document.body.innerText.split('\n');
    return lines.filter(function(line){
        return line.trim();
    });
}

var request = new XMLHttpRequest();
request.open('GET', url);
request.onreadystatechange = function() {
    if (this.readyState === this.DONE) {
        alert(getLines(this.responseText)[3]);
    }
};
request.send();
</script>


В Firefox работать не будет, потому что разрабы забили на innerText. А textContent тут не подходит. Ну и пусть пасутся.

vadim5june 04.07.2013 06:47

У меня этот код размещенный в другом месте не работает
http://jsbin.com/ewiqil/1/edit

skrudjmakdak 04.07.2013 09:14

а может сделать через свой сервер. т.е. запрос на свой сервер, а этот сервер уже делает запрос куда надо? например, через curl (php)

danik.js 04.07.2013 09:26

Цитата:

Сообщение от vadim5june
У меня этот код размещенный в другом месте не работает

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


Часовой пояс GMT +3, время: 07:18.