Javascript.RU

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

Скрипт не работает в FF и опера, но работает в IE(в чем дело???)
Всем привет! Подскажите пожалуйста в чем может быть дело. Скрипт который ищет данные в xml файле отлично работает в IE но никак не хочет работать в FF и Opera. Ниже приведена функция поиска. Извините что много написано, просто мало ли в чем может быть дело
Путем дебага удалось выяснить место ошибки (в коде текст выделен жирным) В IE name и path отлично считывают из файл xml, а в других браузерах нет
Причем когда проводилась отладка чисто случайно я вставил кода выделенного жирный
alert(name.length);
, ну просто чтобы проверить возвращается массив элементов или нет.
Результат: IE = для больше нуля, FF = 0, но код отрабатывает норм...
Такое ощущение, что для того чтобы в FF отработал правильно код надо поставить какую то задержку, типа какой - то sleep()
Может как то в FF не успевает код отработать.

Какие будут предложения???
// поиск ссылок по request
function link_search() {
	var request = parent.bottom.document.getElementById("req").value.toLowerCase();
	// удаление ненужных пробелов
	request = request.replace(/^\s+/, "");
	request = request.replace(/\s+$/, "");
	// имя файла и путь к нему
	// флаг удачного поиска, счетчик
	var name, path;
	var found = false;
	var count = 1;
	// создание обяекта для работы с xml
	var xmldoc;
	// code for IE
	if (window.ActiveXObject) xmldoc = new ActiveXObject("MSXML2.DOMDocument");
	// code for Mozilla, Firefox, Opera, etc.
	else if (document.implementation && document.implementation.createDocument) 
                     xmldoc = document.implementation.createDocument("","",null);
	
	// отрисовка документа
	parent.main.document.write('<html>\n<head>\n<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />\n');
	parent.main.document.write('<title>Search result</title>\n</head>\n<body>');
	parent.main.document.write('<div style="text-align: center; font-size:22px; font-family: Georgia, "Times New Roman", Times, serif;">Результат поиска:</div><br>');
	parent.main.document.write('<div style="margin-left:15px;">\n');
	// загрузка xml документа
	xmldoc.load("index.xml");

name = xmldoc.getElementsByTagName("name");
path = xmldoc.getElementsByTagName("path");

for (var i = 0; i < name.length; i++){
		value_name = name[i].firstChild.data.toLowerCase();
		value_path = path[i].firstChild.data.toLowerCase();
		
		if (value_name.search(request)!=-1) {
			found = true;
			parent.main.document.write('<b>' + count + '. </b><a href="' + value_path + '">' + value_name.toUpperCase() + '</a><br>\n');
			count++;
		}
	}
	if (!found) parent.main.document.write("По вашему запросу ничего не найдено.");
	parent.main.document.write('</div>\n');
	parent.main.document.write('</body>\n</html>');
	parent.main.document.close();
}
Ответить с цитированием
  #2 (permalink)  
Старый 24.08.2012, 16:46
Новичок на форуме
Отправить личное сообщение для dr.dread Посмотреть профиль Найти все сообщения от dr.dread
 
Регистрация: 24.08.2012
Сообщений: 1

В Опере XMLHttpRequest отключен по умолчанию, нужно его вкючить. Искать нужно в скрытых настройках. Ввести в адресной строке opera:config
дальше найти User Prefs и поставить галку для Allow File XMLHttpRequest. Потом не забыть сохранить.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Firefox работает, в Опера ну никак и всё тут! SunLight_DH Opera, Safari и др. 4 16.11.2009 12:58
Почему не работает скрипт, подскажите aviaks Ваши сайты и скрипты 2 05.05.2009 14:38
Скрипт не работает в опере, работает в IE XpycTuk Общие вопросы Javascript 9 06.03.2009 15:50
Скрипт меню-гармошки работает выборочно Extern Элементы интерфейса 2 23.02.2009 15:32
Простой скрипт не работает в Firefox'e... Aik Firefox/Mozilla 2 03.02.2009 22:30