【问题标题】:Best way to include style files包含样式文件的最佳方式
【发布时间】:2014-05-09 19:15:40
【问题描述】:

为单独的页面包含样式文件、js 脚本、脚本代码块的更好方法是什么?

例如,我有 3 个页面,index.php、about.php、contact.php 和它们的通用标题。 对于 index.php,我只需要 css 样式文件,因此包含所有其他文件(如 jquery、fancybox、somepopup.js 等)是不合逻辑的,但对于 about.php,我需要包含 jquery 和 fancybox,而对于 contact.php我不需要fancybox,但需要jquery 和一些我的块代码,例如,

<style>
  $('.lalala').bind('click', function() {
    //some code lalala
  });
</style>

什么是最好的,最快的方法(对于编译器)? 我用过这样的东西 ($_SERVER['PHP_SELF'] == '/index.php' || $_SERVER['PHP_SELF'] == '/banana.php')? '&lt;script src="js/ckeditor/my_conf.js"&gt;&lt;/script&gt;' :''

但是当我有超过 5 个文件,以及一些我需要根据页面在标题中传递的块代码时,它看起来真的很糟糕。那么也许有更好的方法呢?

【问题讨论】:

    标签: php include head


    【解决方案1】:

    最好的解决方案是将所有文件合并为一个。例如,您可以创建application.jsapplication.css。您可以手动完成,也可以在 PHP 中动态完成。

    $css = scandir('./css/');
    $apllicationCSS = array();
    
    foreach($css as $file)
    {
        if($file !== '.' and $file !== '..')
        {
            $apllicationCSS[] = file_get_contents('./css/' .  $file);
        }
    } 
    
    file_put_contents('application.css', implode("\n", $applicationCSS));
    

    我没有测试它,但你应该有一个整体的想法。代码需要改进。您可以使子目录递归工作或删除空格以最小化文件的重量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-15
      • 2020-08-09
      • 1970-01-01
      • 2020-02-03
      • 2014-02-09
      • 2011-02-12
      • 2011-06-18
      • 2023-03-11
      相关资源
      最近更新 更多