2013-08-26 2 views
0

Я создал файл PHP, который показывает сессионный счетчик для интерфейса Joomla с использованием JavaScript. Я также сделал другой файл PHP, который показывает детали пользователя, и он перезагружается с помощью jQuery. Что я хочу сделать, когда я нажимаю кнопку перезагрузки jQuery, перезагрузка JavaScript-сессий тоже перезагружается.Перезагрузка javascript с помощью jquery

Session Meter PHP:

<?php // NO DIRECT ACCESS 
     defined('_JEXEC') or die('Restricted access'); 

     $document = & JFactory::getDocument(); 
     $document->addStyleSheet('***/***/session_meter.css'); 
     include('***/***/scripts.php'); 
     $document->addScriptDeclaration($javascript); 

     $output = array(); 
     $session = & JFactory::getSession(); 
     $expire = $session->getExpire(); 
     $output[] = '<span id="log_res" class="">'.$expire.'</span>'; 

     foreach ($output as $item){echo $item;} 
     ?> 

Meter Session Javascript (часть):

<?php // NO DIRECT ACCESS 
     defined('_JEXEC') or die('Restricted access'); 

     $javascript = ' var timer_start =$time(); '."\n"; 
     $javascript .= 'blah blah blah... 
     ?> 

Профиль пользователя JQuery скрипт (часть):

<?php // NO DIRECT ACCESS 
    defined('_JEXEC') or die('Restricted access'); ?> 

     <script>   
    var $JQ_ = jQuery.noConflict(); 

    $JQ_(document).ready(function(){   

    $JQ_("#refresh_button").click(function(){$JQ_("#r_points").load('index.php #r_points').fadeOut(1000).fadeIn(1000);});  
     }); 
    </script> 

Я пытаюсь сделать что-то вроде этого:

$JQ_("#refresh_button").click(function(){ 
    $JQ_("#log_res").load('index.php #log_res').fadeOut(1000).fadeIn(1000); 
}); 

но перезагружает только сессионный измерительный прибор span и не его JavaScript!

Любая идея?

+0

Разве вы не можете просто вызвать функцию инициирующей в JavaScript после загрузки PHP с помощью AJAX? Если ваш сессионный счетчик javascript не инкапсулирован в функцию, тогда сделайте это, чтобы впоследствии вы могли его вызвать. – Ozzy

+0

Из того, что вы пишете, я даже не могу понять, как загружается javascript в первую очередь; не говоря уже о том, почему он не перезагружен. –

+0

@ChrisWesseling: В первой части кода с использованием этого ... 'include ('***/***/scripts.php'); $ Document-> addScriptDeclaration ($ JavaScript); '. –

ответ

0

я не знаю, что может быть сделано с PHP ... но вещи, которые вы можете сделать это:

  • Сохранить в локальном хранилище (прогресс)
  • Put перегрузочная часть в IFRAME так родительский Безразлично 't load again
  • Включите часть измерителя Js в функцию и вызовите его в верхнем/onload-событии, поэтому при повторной загрузке страницы он также вызывается.
  • Использование eval для вызова JavaScript, который находится в форме строки
+0

дайте мне знать, если никто из них не решит, что вы хотите сделать .., что маловероятно, но кто знает. –