0

为了给你更多的上下文,我的文件结构看起来像:includes/overall/footer.php,在这个文件中我引用了 js/nav-header.js 注意 include 和 js 文件夹都在基本文件夹中。我这样做正确吗?

包括/整体/footer.php:

    <?php include 'includes/footer.php'; ?>

    <script type="text/javascript" src="libs/jquery-1.10.1.min.js"></script>
    <script type="text/javascript" src="libs/bootstrap/js/bootstrap.min.js"></script>
    <script type="text/javascript" scr="js/nav-header.js"></script>
  </body>
</html>

该文件本身包含在另一个文件中,它可能与加载内容的顺序有关吗?原因是我似乎无法在 javascript 文件中触发任何内容。任何帮助,将不胜感激。

4

3 回答 3

0

我建议不要使用硬编码的绝对路径,因为这会降低应用程序的可移植性。

相反,设置一个$base_url可以在 html 中回显的变量

<?php $base_url = "/"; ?>

在你的 html

<script type="text/javascript" scr="<?php echo $base_url; ?>js/nav-header.js"></script>

您可以在整个站点中将其用于 js、css、锚点等。

于 2013-06-26T13:32:27.847 回答
0

你 nav-header.js 包含什么剂量?

资产按照它们在 html 中出现的顺序从服务器请求。所以 nav-header.js 将在 jquery 之后被调用,但这并不意味着它会在它之前完成加载。

还要加载文件使用绝对路径: /js/nav-header.js而不是js/nav-header.js 这样您就知道 js/nav-header.js 将从根文件夹加载。

如果您在 js/nav-header.js 中有代码在加载时触发(不是在文档就绪时),我建议将其移动到文档就绪状态。

于 2013-06-26T13:28:23.860 回答
0

将 HTML 中的 BASE 标记与所有相对路径一起使用:D

Phil Sturgeon 写了一篇关于它在 CodeIgniter 中的使用的博客文章,但基本上你不需要使用框架来利用相同的原理。

您应该将文档根存储在应用程序某处的变量中,并有一个引用它的函数,然后将其回显到基本标记中。这样,当您将应用程序移动到不同的环境时,您只需在一个地方更改根目录即可。

此外,请在使用基本标签之前阅读此内容。

于 2013-06-26T14:22:55.817 回答