在使用PHP和js时如何指定路径?

时间:2013-06-26 13:22:16

标签: php javascript jquery html web

为了给你更多的上下文,我的文件结构如下: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文件中的任何内容。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

nav-header.js含有什么剂量?

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

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

如果你有js / nav-header.js中的代码在加载时触发(不是在文档就绪),我会把它移动到文档就绪。

答案 1 :(得分:0)

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

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

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

在你的HTML中

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

您可以在整个网站中使用此功能来获取js,css,anchors等。

答案 2 :(得分:0)

使用HTML中的BASE标记以及所有相对路径:D

Phil Sturgeon在CodeIgniter中写了blog post关于它的用法,但基本上你不需要使用框架来使用相同的原理。

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

此外,read this在使用基本标记之前。