如何在Codeigniter中加载任何特定视图页面之前调用ajax函数

时间:2013-09-09 22:29:51

标签: php jquery ajax codeigniter timezone

我有一个自动检测当前用户时区的视图页面,在检测到时区后,我将其发送到另一个页面,以便在会话中设置时区以供进一步使用。

这是文件(autodetect.php)

<!DOCTYPE html>
<html>
<head> 
    <title>   
    <script type="text/javascript" src="....jquery.js' ?>"></script>  
      <script type="text/javascript"       src='..autodetect/Jsfile/detect1.0.4.min.js'>   
</script> 
 <script>  
 $(function() {   

   <?php if (!isset($_SESSION['tz'])) { ?>
        var timezone = jstz.determine(); 
        $.ajax({
            type: "POST",
            url:"<?php echo base_url('timezone.php'); ?>",
            data: 'timezone='+timezone.name(),
            success: function(data){ 
            }
        }); 
        <?php } ?>   
    }); 
 </script>   
 </head> 
 <body>  
 </body>

,为了执行此功能,我必须首先加载/读取此页面(autodetect.php),

所以我的问题是“如何在加载任何视图页面或通过控制器调用任何视图页面之前运行此页面(即autodetect.php)?

例如。我必须加载注册页面,但在此之前我需要阅读上面的PHP文件,以检测用户的当前时区。

1 个答案:

答案 0 :(得分:0)

要在加载任何视图页面之前加载任何脚本,您可以使用Hooks:

Hooks - Extending the Framework Core

根据需要选择合适的挂钩点