Javascript.RU

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

У меня есть код:

//Исполнение внедренных в шаблон JavaScript скриптов
	var scripts = element.getElementsByTagName("script");
	var script;
	for (var i = 0; script = scripts[i]; i++) {
		var newScript = document.createElement('script');
		newScript.type="text/javascript";
		if (script.src) newScript.src = script.src;
		if (script.text) newScript.text = script.text;
		script.parentNode.replaceChild(newScript,script);
	}



И он даже работает в некоторых браузерах.
Первая проблема следующего плана, браузеры на движке Safari выполняют код не в той последовательности в которой подаются данные. JavaScript внедренный непосредственно в тэг script выполняется сразу, а вот исполнение скриптов во внешних ф-лах откладывается на потом и это рушит логику работы всей программы. Помогите просветиться на эту тему.

Чтоб было понятней о чем речь, сравните пожалуйста поведение браузеров на базе WebKit от поведения остальных браузеров на приложенном примере.

Хорошо видно, что разработчики всех движков, кроме WebKit придерживаются мнения, что скрипты должны исполнятся по схеме FIFO. А у разработчиков WebKit другое мнение
Вложения:
Тип файла: zip grabli.zip (632 байт, 1 просмотров)

Последний раз редактировалось Octane, 28.08.2009 в 01:25. Причина: редактируйте свои сообщения, чтобы не было подряд идущих постов от одного и того же пользователя
Ответить с цитированием
  #2 (permalink)  
Старый 28.08.2009, 10:33
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Получайте через xmlHTTPRequest и в eval().
Ответить с цитированием
  #3 (permalink)  
Старый 28.08.2009, 12:32
Интересующийся
Отправить личное сообщение для NT Man Посмотреть профиль Найти все сообщения от NT Man
 
Регистрация: 09.08.2009
Сообщений: 12

(тяжело вздыхая) Опять костыли.... Эта была первая мысль обхода этого глюка. Но как-то не камильфо задействовать несколько транспортов. Пользуюсь IFRAME AJAX транспортом (ранее пользовался xmlHTTPRequest), но перешел на IFRAME, чтобы иметь возможность аплода файлов в фоне не прибегая к всяким флэшам и прочим в принципе ненужным примочкам.

Оформил багрепорт проголосуйте за него, чтобы скорее его исправили.

Последний раз редактировалось NT Man, 28.08.2009 в 12:35.
Ответить с цитированием
Ответ


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

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