2016-08-19 79 views
-1

我對具有不同設計的不同頁面具有相同的頭文件。我必須在頁眉部分添加所有的CSS文件,這會增加頁面加載。 我的問題是,有沒有辦法將css文件動態加載到標題部分。我正在使用codeigniter框架。在CodeIgniter中動態添加Javascript和CSS文件頭部分

+1

什麼d你的意思是動態加載css文件? – kikuyu1

+1

如果你動態添加你的標題視圖,那麼你可以添加變量到標題併發送它像控制器'load-> view('header.php',$ css_js_var)' –

+0

我覺得這個是最好的ide –

回答

0

要笨實現這一點,首先設定在config.php默認的CSS和JavaScript文件

$config['header_css'] = array('style.css','prettyPhoto.css','nivo-slider.css'); 
$config['header_js'] = array('core.js','core.js', 
          'jquery-1.4.1.min.js', 
          'jquery-slidedeck.pack.lite.js', 
          'jquery-prettyPhoto.js', 
          'jquery.nivo.slider.js'); 

然後,添加此輔助功能我寫的,你的模板助手(或者你使用任何其他幫助程序文件)

//Dynamically add Javascript files to header page 
if(!function_exists('add_js')){ 
function add_js($file='') 
{ 
    $str = ''; 
    $ci = &get_instance(); 
    $header_js = $ci->config->item('header_js'); 

    if(empty($file)){ 
     return; 
    } 

    if(is_array($file)){ 
     if(!is_array($file) && count($file) <= 0){ 
      return; 
     } 
     foreach($file AS $item){ 
      $header_js[] = $item; 
     } 
     $ci->config->set_item('header_js',$header_js); 
    }else{ 
     $str = $file; 
     $header_js[] = $str; 
     $ci->config->set_item('header_js',$header_js); 
    } 
} 
} 

//Dynamically add CSS files to header page 
if(!function_exists('add_css')){ 
function add_css($file='') 
{ 
    $str = ''; 
    $ci = &get_instance(); 
    $header_css = $ci->config->item('header_css'); 

    if(empty($file)){ 
     return; 
    } 

    if(is_array($file)){ 
     if(!is_array($file) && count($file) <= 0){ 
      return; 
     } 
     foreach($file AS $item){ 
      $header_css[] = $item; 
     } 
     $ci->config->set_item('header_css',$header_css); 
    }else{ 
     $str = $file; 
     $header_css[] = $str; 
     $ci->config->set_item('header_css',$header_css); 
    } 
} 
} 

if(!function_exists('put_headers')){ 
function put_headers() 
{ 
    $str = ''; 
    $ci = &get_instance(); 
    $header_css = $ci->config->item('header_css'); 
    $header_js = $ci->config->item('header_js'); 

    foreach($header_css AS $item){ 
     $str .= '<link rel="stylesheet" href="'.base_url().'css/'.$item.'" type="text/css" />'."\n"; 
    } 

    foreach($header_js AS $item){ 
     $str .= '<script type="text/javascript" src="'.base_url().'js/'.$item.'"></script>'."\n"; 
    } 

    return $str; 
} 
} 

現在,您可以手動添加CSS和JavaScript文件如下:

add_css(array('demo.css','demo1.css')); 
add_js('demo.js'); 
+0

你可以請按照[鏈接](http://jamshidhashimi.com/2013/04/12/dynamically-add-javascript-and-css-files-in-codeigniter-header-page/),我已將表格複製到 –

+0

謝謝歐麥爾汗, 我已經使用它,但它不能正常工作。 –