2010-11-19 78 views
1

我正在使用PHP生成JS导航。脚本包含像这样检测哪个页面引用PHP生成的JavaScript文件

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

我想用PHP,而不是JavaScript来指定类的当前页面的链接,但所有的$ _ SERVER瓦尔的看到topNav.js.php位置。

我知道我可以使用JS像

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

,但我想知道是否有通过PHP来做到这一点的好办法。

回答

0

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

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

懒惰和功能。

1

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

喜欢的东西...

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

这个变量将是你的外部脚本中使用。你可以在你的外部脚本中设置一些东西,以确保它有一个值,如果你没有手动设置它。这将是错误处理的一个好习惯。