代码之家  ›  专栏  ›  技术社区  ›  jerrygarciuh

检测哪个页面正在引用PHP生成的JavaScript文件

  •  1
  • jerrygarciuh  · 技术社区  · 14 年前

    我正在使用PHP生成JS导航。脚本是这样包含的

    <script type='text/javascript' src='/topNav.js.php'></script>
    

    我想使用PHP而不是JavaScript为当前页面的链接分配类,但是所有的$u服务器变量都会看到topNav.js.PHP位置。

    我知道我可以用JS

    if(window.location.href == 'myurl') {
        document.getElementById('itemx').className += 'active';
    }
    

    但是我想知道是否有一个好的方法可以通过PHP来实现。

    2 回复  |  直到 13 年前
        1
  •  1
  •   jocull    14 年前

    在调用“外部”脚本文件之前,可以使用PHP将当前页面写入Javascript。

    有点像。。。

    <script type="text/javascript">
    <?php
        echo "var CurrentPage = '" . $_SERVER["REQUEST_URI"] . "';";
    ?>
    </script>
    <script type='text/javascript' src='/topNav.js.php'></script>
    

    此变量将在外部脚本中可用。如果不在外部手动设置,则可以在外部脚本中设置某些内容,以确保其具有值。这将是一个很好的错误处理实践。

        2
  •  0
  •   Tim Cooper    13 年前

    我有一个PHP页脚包括我没有考虑。刚刚添加

      <script type="text/javascript">
        <? $pg = preg_replace('/\//', '', $_SERVER['REQUEST_URI']); ?>
        document.getElementById('nav_<?=$pg?>').className += ' qmactive ';
      </script>
    

    懒散而实用。