Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.08.2013, 12:29
Интересующийся
Отправить личное сообщение для Artyom Посмотреть профиль Найти все сообщения от Artyom
 
Регистрация: 15.08.2013
Сообщений: 12

Ошибка без ошибки. Не работает метод split
Здравствуйте.

Столкнулся с необъяснимым поведением моего скрипта. Ситуация такова - есть форма для отправки новостей. В форму вставляется новость, скрипт должен разобрать эту новость и привести ее в нужный вид. Собственно, вот пример кода:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<a href="javascript: function makeAexru() {
	var news = document.getElementsByName('newss')[0];
	var header = document.getElementsByName('header')[0],
	announce = document.getElementsByName('anons')[0],
	source;
	var massive = news.value.split('\n');
	
	source = document.getElementsByName('source')[0];
	source.value = 'AEX.RU';

	header.value = massive[0];
	massive.splice(0, 1);

	for (;;) {
		if (massive[0].indexOf(', AEX.RU –  ') == -1) {
			massive.splice(0, 1);
		} else {
			break;
		}
	}

	massive[0] = massive[0].slice(massive[0].indexOf(', AEX.RU –  ') + 12);

	for (var i = 0; i < massive.length; i++) {
		if (massive[i] == '' || massive[i] == '  ' || massive[i] == '\t' || massive[i] == '\t\t\t\t') {
			massive.splice(i, 1);
		}
	}

	announce.value = massive[0].slice(0, massive[0].indexOf('.')+1);

	news.value = massive.join('\n\n');
}

makeAexru();">AEX.RU</a><br>

<input name="header"><br>
<textarea name="anons"></textarea><br>
<textarea name="newss">Пять авиарейсов из Стамбула в Германию были задержаны из-за сообщения о бомбе на борту самолета
				

увеличить
Международный аэропорт имени Ататюрка
Фото с сайта uletaika.ru

	


 15 августа, AEX.RU – Пять авиарейсов из Стамбула в Германию были отложены из-за сообщения о заложенной на борту самолета авиакомпании Turkish Airlines бомбе, передает ИТАР-ТАСС со ссылкой на местное телевидение.

 Полиция и службы безопасности международного аэропорта имени Ататюрка в Стамбуле провели поиски взрывного устройства на пяти пассажирских самолетах авиакомпании, взрывное устройство не обнаружено.

 Информация о возможном наличии на борту лайнеров бомбы была получена в среду вечером.</textarea><br>
<input name="source">
</body>
</html>


В общем, весь цимес ситуации в том, что со львиной долей новостей скрипт работает как нужно, но иногда, как в случае с этой новостью - вылезает странная ошибка. Почему-то split не отрабатывает как нужно, и не создает массив. В чем дело - ума не приложу, подскажите, куда копать-то...
Ответить с цитированием
  #2 (permalink)  
Старый 15.08.2013, 13:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

Artyom,
потому что строка 22 ненаходя шаблон уничтожает массив --- ', AEX.RU – ' такой строки нет даже в 56 строке -- надеюсь сами найдёте излишек.
Ответить с цитированием
  #3 (permalink)  
Старый 15.08.2013, 13:29
Интересующийся
Отправить личное сообщение для Artyom Посмотреть профиль Найти все сообщения от Artyom
 
Регистрация: 15.08.2013
Сообщений: 12

Чёрт, а ведь и правда, там не хватает пробела. Совершенно не подумал о том, что после ошибки massive.length == 0 не потому, что не отработал как нужно split, а потому, что массив уже стёрся бесконечным циклом... Категорически благодарен, уважаемый!
Ответить с цитированием
  #4 (permalink)  
Старый 15.08.2013, 20:28
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от Artyom
Не работает метод split
каждый день свежий выпуск набора тем, искренне утверждающих, что основные конструкции javascript ... (внимание ... пауза) ... НЕ РАБОТАЮТ
да что за язык-то такой, работать не хочет, совсем уже обленился с этими высокими технологиям
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде Js, Неправильно работает скрипт. Julia Panatova Общие вопросы Javascript 1 19.01.2011 14:12
Ошибка в коде Js, Неправильно работает скрипт. Julia Panatova Общие вопросы Javascript 7 07.01.2011 13:41
Не работает split Basili4 Общие вопросы Javascript 3 19.06.2010 10:53
Подскажите карусель, которая работает без какого либо фреймворка Khmelevsky Библиотеки/Тулкиты/Фреймворки 2 25.04.2010 12:45
В Firefox 3.5.5 не работает метод POST. Какие методы лечения? javascript_pupil AJAX и COMET 1 10.12.2009 20:34