Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Извлечение текста со страница (https://javascript.ru/forum/dom-window/25053-izvlechenie-teksta-so-stranica.html)

null28 24.01.2012 01:20

Извлечение текста со страница
 
Можно как-нибудь извлечь нужный текст со страницы и передать его в переменную в виде строки?
Исходный код фрагмента такого вида:
<span class="gen" style="border-color: rgb(0, 0, 255); border-width: 2px; border-style: solid;">Напишите девятую, седьмую, третью и девятнадцатую буквы из последовательности букв: CZBHuXavrCGxsCMVDWmn * </span>


Я пробовал вот так, но что-то не выходит:
var que;
var spans=document.getElementsByTagName('SPAN');
for(var p=0;p<spans.length;p++)
	    {
	    if(spans[p].className=='gen')
	        que=spans[p].className;
	    }

Gvozd 24.01.2012 02:15

innerHTML

null28 24.01.2012 05:04

Цитата:

Сообщение от Gvozd (Сообщение 152380)
innerHTML

Заменил на que=spans[p].innerHTML; Всё равно не идёт

Gvozd 24.01.2012 11:39

Цитата:

Сообщение от null28
Всё равно не идёт

Неправда, все идет.
Код рабочий, и после его выполнения в que находится со
держимое последнего существующего SPAN-а с классом gen

Другое дело, что скорее всего на момент выполнения этого кода еще ничего нет.
КОд надо выоплнять после того как загрузилась страница, например по событию window.onload

null28 24.01.2012 16:28

Попробовал так:
var que;
if(location=="http://sitename.ru/forum/profile.php?mode=register&agreed=true"){
	    var spans=document.getElementsByTagName('SPAN');
for(var p=0;p<spans.length;p++)
	    {
	    if(spans[p].className=='gen')
	        que=spans[p].innerHTML;
	    }


И вот так:
var que;
if(location=="http://sitename.ru/forum/profile.php?mode=register&agreed=true"){
if(window.onload){
	    var divs=document.getElementsByTagName('SPAN');
for(var p=0;p<divs.length;p++)
	    {
	    if(divs[p].className=='gen')
	        que=divs[p].innerHTML;
	        //alert(divs[p].innerHTML);
	    }
}


Всё равно не выходит.

Как можно проверить загрузилась ли страница с нужным адресом?

nerv_ 24.01.2012 16:45

<html>
	<head>
        <meta charset="utf-8">
		<script type="text/javascript">
			window.onload = function() {
				var x = document.getElementsByTagName("span");
				
				for(var i = 0; i < x.length; i++) {
					if (x[i].className == "gen") {
						alert(x[i].innerHTML);
						break;
					}
				}
			}
		</script>
    </head>
    <body>
		<span class="gen">Напишите девятую, седьмую, третью и девятнадцатую буквы из последовательности букв: CZBHuXavrCGxsCMVDWmn * </span>
    </body>
</html>

null28 24.01.2012 19:09

Поставил alert для проверки, пишу так:
window.onload = function bt() {
	    var spans=document.getElementsByTagName("SPAN");
for(var p=0;p<spans.length;p++)
	    {
	    if(spans[p].className=="gen"){
	       //que=spans[p].innerHTML;
	        alert(spans[p].innerHTML);
	        }
	    }
	    }


И всё равно ничего не происходит. Проверял при открытой странице с текстом.

upd: Вот когда в виде хтмл-документа сохраняю - оно работает, а файл .js - нет.

null28 27.01.2012 18:28

Вверх!


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