| 
	| 
	
	| 
		
	| 
			
			 
			
				26.01.2014, 10:38
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| 
	
 
	| Сообщение от danik.js   |  
	| Я вобще как-то сомневаюсь что код скрипта отработает без ошибки. После окончания парсинга документа скрипты исполняются асинхронно, так что нельзя взять просто так и сразу после добавления скрипта вызвать из него функцию - файл попросту не успеет к этому моменту загрузиться или исполниться. |  
	
 думаешь, он в оперативную память не залезет? |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 11:19
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 11.09.2010 
						Сообщений: 8,804
					 
		
 |  |  
	| melky я не понимаю к чему ты клонишь. Впрочем я оказался не прав: даже во время парсинга скрипт исполнится асинхронно: 
<script>
    var script = document.createElement('script');
    script.src = 'data:application/javascript,function%09fn(){alert("ok")}';
    document.head.appendChild(script);
    fn();
</script>
<script>
document.addEventListener('DOMContentLoaded', function(){
    var script = document.createElement('script');
    script.src = 'data:application/javascript,function%09fn(){alert("ok")}';
    document.head.appendChild(script);
    fn();
});
</script>
				__________________ 
				В личку только с интересными предложениями    |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 11:31
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| danik.js,интересно что должны продемонстрировать примеры, когда нажмёшь кнопку посмотреть. куда смотреть чего ждать?
 |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 12:38
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 11.09.2010 
						Сообщений: 8,804
					 
		
 |  |  
	| 
	
 
	| Сообщение от рони |  
	| куда смотреть чего ждать? |  
	
 Консоль открой. Увидишь ошибку что функция fn не определена.
 
Синхронно скрипт можно вставить через document.write() во время парсинга.
				__________________ 
				В личку только с интересными предложениями    |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 12:58
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 27.05.2010 
						Сообщений: 33,150
					 
		
 |  |  
	| danik.js,
    а так? или это не про то?
 
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>
<body>
<script>
document.addEventListener('DOMContentLoaded', function(){
    var script = document.createElement('script');
    script.src = 'data:application/javascript,function%09fn(){alert("ok")}';
    document.head.appendChild(script);
    window.setTimeout('fn()', 0)
    //fn();
});
</script>
</body>
</html>
 |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 13:06
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| какой смысл удаять тег если скрипт будет все равно в памяти?можете перегрузить обернув все в фунцию, но все эти действия похожи на извращенческие, с неправильной архитектурой и порядком действий
 |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 13:27
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 08.11.2013 
						Сообщений: 37
					 
		
 |  |  
	| 
	
 
	| Сообщение от Poznakomlus   |  
	| какой смысл удаять тег если скрипт будет все равно в памяти? можете перегрузить обернув все в фунцию, но все эти действия похожи на извращенческие, с неправильной архитектурой и порядком действий
 |  
	
 Т.е. нормально, если скрипт после выполнения так и останется висеть на странице ?
 
Так он и обернут в функцию 
 
<script>
        (function($)
        {
            $(document).ready(function()
            {
                if (!$(document).bxSlider)
                {
                    var script = document.createElement("script");
                         
                    script.type = "text/javascript";
                    script.src = "<?php echo JURI::root()?>modules/mod_ext_jshopping_slider_products/assets/js/jquery.bxSlider.min.js";
                         
                    $("head").append(script);
                }
                $("#slider__list_<?php echo $id_sfx; ?>").bxSlider();
            });
        })(jQuery)
</script>
			 Последний раз редактировалось Danxil, 26.01.2014 в 13:29.
 |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 13:33
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| 
	
 
	| Сообщение от Danxil |  
	| Т.е. нормально, если скрипт после выполнения так и останется висеть на странице |  
	
 Что значит висеть на странице? 
Всегда выносите js код в отдельные файлы, не засоряйте html разметку страницы |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 13:58
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 08.11.2013 
						Сообщений: 37
					 
		
 |  |  
	| 
	
 
	| Сообщение от Poznakomlus   |  
	| Что значит висеть на странице? Всегда выносите js код в отдельные файлы, не засоряйте html разметку страницы
 |  
	
 Дело в том, что в самом скрипте я использую пхп, в примере выше видно. Т.е. если подключать файл, то нужно подключать script.php, а не script.js 
соответсвенно из этого пхп-файла будет в любом случае на страницу вставлятся тег script			 Последний раз редактировалось Danxil, 26.01.2014 в 14:03.
 |  |  
	| 
		
	| 
			
			 
			
				26.01.2014, 14:37
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 13.03.2013 
						Сообщений: 1,572
					 
		
 |  |  
	| 
	
 
	| Сообщение от Danxil |  
	| Дело в том, что в самом скрипте я использую пхп, в примере выше видно |  
	
 что мешает прописать значения php переменных вручную 
и пример с <script src="/script.php" type="text/javascript"></script> также имеет право на жизнь 
где код script.php
 
<?php
header('Content-type: text/javascript; charset: UTF-8');
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 2592000) . ' GMT');
header("Content-Encoding: gzip"); //сжатие если не работает удалить строку
header('Last-Modified: '.gmdate('D, d M Y H:i:s',filemtime(__FILE__)).' GMT');
?>
//здесь уже js
alert('Work');
 |  |  |  |