Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Задержка события readi в jQuery
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » Задержка события readi в jQuery

Страниц (1): [1]
 

1. vlom - 12 Мая, 2012 - 08:41:51 - перейти к сообщению
Все привет
Мне необходимо чтобы мой js код не выполнялся пока не выполнится вот этот код
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. _shcp = []; _shcp.push({widget_id : 00000, widget : "Chat", side : "right", position : "right", template : "green" }); (function() { var hcc = document.createElement("script"); hcc.type = "text/javascript"; hcc.async = true; hcc.src = ("https:" == document.location.protocol ? "https" : "http")+"://siteheart.com/apps/js/sh.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hcc, s.nextSibling); })();
  3.  

Нашел вот такое, но как это применить к данному конкретному случаю понять не могу
CODE (javascript):
скопировать код в буфер обмена
  1. $.holdReady(true);
  2. ... (какой-то код) ...
  3. $.getScript("myplugin.js", function(){
  4.   $.holdReady(false);
  5. });
2. DelphinPRO - 12 Мая, 2012 - 09:41:22 - перейти к сообщению
ищите плагин holdReady
подключайте его на страницу
ваш код сохраняйте в отдельный файл "myplugin.js"
и пишите
CODE (javascript):
скопировать код в буфер обмена
  1. $.holdReady(true);
  2.  
  3. _shcp = []; _shcp.push({widget_id : 00000, widget : "Chat", side : "right", position : "right", template : "green" }); (function() { var hcc = document.createElement("script"); hcc.type = "text/javascript"; hcc.async = true; hcc.src = ("https:" == document.location.protocol ? "https" : "http")+"://siteheart.com/apps/js/sh.js"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hcc, s.nextSibling); })();
  4.  
  5. $.getScript("myplugin.js", function(){
  6.   $.holdReady(false);
  7. });

(Добавление)
сорри, это не плагин, а функция ядра Ниндзя
(Добавление)
_http://jquery.page2page.ru/index.php5/Задержка_события_ready
3. vlom - 12 Мая, 2012 - 10:19:03 - перейти к сообщению
В таком-то случаи проблем не возникло бы, только мне вот надо выполнять собственный код после того как будет загружен и выполнен siteheart.com/apps/js/sh.js
4. tuareg - 12 Мая, 2012 - 10:41:52 - перейти к сообщению
попробуйте через $.Deferred()
Как-то так.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. _shcp = []; _shcp.push({widget_id : 00000, widget : "Chat", side : "right", position : "right", template : "green" });
  3. var hccSrc=("https:" == document.location.protocol ? "https" : "http")+"://siteheart.com/apps/js/sh.js",
  4. defer=$.getScript(hccSrc);
  5. defer.done(function(){
  6.  $.getScript("myplugin.js", function(){
  7.  
  8.   });
  9. })
  10.  

Это сработает(должно Улыбка ) если версия jQuery>1.5

 

Powered by ExBB FM 1.0 RC1