【发布时间】:2013-12-18 14:04:28
【问题描述】:
我在子文件夹“mysite/theSubfolder”中嵌套了 .php 页面——例如,'oneNestedPhpWebPage.php'。
子文件夹中的这些页面包括位于父文件夹中的导航栏 .php 文件:
// this is code inside my nested .php page "oneNestedPhpWebPage.php"
<?php
require_once('../TopNav.php');
?>
此 TopNav.php 也被网站 根文件夹 中的网页使用,我必须将 TopNav.php 留在根文件夹中。
当我访问“oneNestedPhpWebPage.php”页面时,最初一切都很好——我可以看到该页面。我也可以看到 TopNav.php 导航栏。
但是TopNav.php页面有下面这行代码:
<script src="nb.js"></script>
并且,与 TopNav.php 本身一样,javascript 文件“nb.js”位于站点的根文件夹中。
如果我的嵌套 .php 页面之一正在使用 TopNav.php,例如 oneNestedPhpWebPage.php - 这个 nb.js 文件的 javascript 函数是 not从包含的 TopNav.php 调用时被找到。
javascript 文件 nb.js 位于站点的根文件夹中,它是嵌套网页上方的一个文件夹,例如我的“oneNestedPhpWebPage.php”
现在,我还在网站 parent 文件夹中的一堆 .php 网页中使用 TopNav.php——我的导航栏代码——例如,在我的索引中.php 网页在站点的根文件夹中,我有以下内容——注意这里与上面类似代码行的区别:
// this is code inside my index.php page located in the site's root folder
<?php
require_once('TopNav.php');
?>
在这里,因为我的 nb.js 文件位于 index.php 的父文件夹中,所以 TopNav.php 对 nb.js 中 javascript 函数的调用工作很好。
为了解决这个问题,我添加了两行代码:
-
我的嵌套文件“oneNestedPhpWebPage.php”底部的这行代码:
<input type="hidden" id="nestedBnbPage" value="1" /> -
然后我尝试了一些我以前没有尝试过的东西,我把它放在 TopNav.php 中:
<script src="nb.js">if(document.getElementById('nestedBnbPage'))this.src="../nb.js";
这并没有解决问题。
我有 53 个 .php 网页文件位于嵌套的“mysite/theSubfolder”子文件夹中。我在网站的根文件夹中有更多内容。
而且我需要在两组根文件夹页面和嵌套文件夹页面中使用导航栏代码。
而且我不能将 nb.js javascript 代码放在 TopNav.php 中。
如何配置 TopNav.php,以便在其中一个嵌套网页使用时,TopNav.php 将能够在站点的根文件夹中“找到”其 nb.js javascript 文件?
【问题讨论】:
标签: javascript php require-once