0

我一直在使用多种不同的方法来为我正在构建的站点添加 header.php 和 footer.php 文件。

我不确定是引用网站上不同单独页面所需的几个 .css 和 .js 文件的最有效位置。我已将包含的页面设置如下(这些页面被简化到最低限度以说明结构的重点):

header.php:

<html>
    <head>
        <title>Example Page 1</title>
    <link rel="stylesheet" type="text/css" href="menu_styles.css"/>
    <script type="text/javascript" src="main_menu.js"></script>
    </head>
<body>
<!------MENU CODE HERE------>

后跟任何页面.php:

<?php
include 'header.php'
?>

<div>Page Content 1</div>
<div>Page Content 2</div>

<?php include 'footer.php' ?>

其中 footer.php 最简单的形式如下:

</body>
</html>

我可以看到在标头中引用 menu_styles.css 和 main_menu.js 的逻辑,因为菜单代码将始终在此处编写。但是,如果我有一个单独的页面,例如,一个带有自己需要的 js/css 文件的图像滚动器,那么定义这些文件的最有效方法是哪里?我可以在主页本身内完成,还是必须在 header.php 中定义每个 .css 和 .js?这会产生一个很长的列表,对我来说似乎效率低下,因为许多页面不需要定义到这些文件的链接。

4

4 回答 4

2

您可以将每个需要的 css 或 JS 的 src 添加到数组(PHP 变量)中。然后在页面末尾(关闭正文之前),添加您的和标签。

<?php
include 'header.php';
$css = array();
$js = array();
?>

<div>Page Content 1</div>
<div>Page Content 2</div>
// content and content imports may add sources to css and js arrays

// where footer.php prints <script> and <link> tags, importing needed css and js
<?php include 'footer.php' ?>
</body>
</html>
于 2013-04-09T15:25:56.340 回答
2

我会做以下事情:

  1. 创建一个包含所有 CSS 文件的全局变量,以及另一个用于所有 Javascript 文件的全局变量
  2. 在您的“任何 php 文件”中,首先更改全局变量以包含正确的 CSS 文件和 JS 文件。
  3. 调用requireinclude插入您的标题,它会根据全局变量添加 CSS 文件
  4. 在你的“whatever php”文件中做任何你需要的事情
  5. include或者require你的页脚文件,它根据全局变量插入所有的 JS 文件(建议在文档末尾包含 JS 文件以防止页面加载延迟)
于 2013-04-09T15:34:08.423 回答
0

您可以为带有图像滚动条的页面使用不同的标题模板,并在该标题中包含图像滚动条 css。

您可以在页面中的任何位置包含 Javascript 文件,事实上,有些人认为将它们包含在页面底部是更好的做法,因此它们会在您的 HTML 内容之后加载,因此不会延迟内容的加载。但是我相信 CSS 文件必须始终包含在 head 标签中。

于 2013-04-09T15:28:56.757 回答
0

标题:

<html>
    <head>
        <title>Example Page 1</title>
        <?php
        if ($css_inc != NULL) {
            foreach ($css_inc as $value) {
                echo '<link type="text/css" href="' . $value . '"></link>';
            }
        }
        if ($js_inc != NULL) {
            foreach ($js_inc as $value) {
                echo '<script type="text/javascript" src="' . $value . '"></script>';
            }
        }
        ?>
    </head>
    <body>
    <!------MENU CODE HERE------>

页面.php

<?php
   $css_inc = array('style.css', '\public\css\gallery.css');
   $js_inc = array('public.js', '\public\js\jquery.js', '\public\js\jqueryui.js');
   include 'header.php'
?>

<div>Page Content 1</div>
<div>Page Content 2</div>

<?php include 'footer.php' ?>
于 2013-04-09T15:56:12.630 回答