0

我制作了一个 PHP 文件,它使用 JavaScript 为 Joomla 的前端显示会话仪表。我还制作了另一个 PHP 文件,显示用户的详细信息并使用 jQuery 重新加载。我想要做的是,当我按下 jQuery 的重新加载按钮时,JavaScript 会话计也重新加载。

会话仪表 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;}
         ?>

Session Meter 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!

任何想法?

4

1 回答 1

0

我不知道可以用 php 做什么......但你可以做的事情是:

  • 保存在本地存储(进度)
  • 将重新加载部分放在 iframe 中,这样父级就不会再次加载
  • 将 Js 仪表部分包装成函数并在 top/onload 事件中调用它,因此当页面重新加载时它也会被调用。
  • 用于eval调用字符串形式的javascript
于 2013-08-26T17:22:58.947 回答