在特定的URL dir上运行javascript函数(htaccess)

时间:2014-04-24 16:06:39

标签: javascript php jquery .htaccess

我有菜单,我的网站上有一些默认隐藏的模态窗口,当我点击特定的菜单项(简单的.show()jquery函数)时会出现。可以像这样使用htaccess:

  

默认网站网址:www.example.com

     

当网址:www.example.com/menu1 /

时,菜单1可见(被调用的功能)

因此,当URL中存在子目录(不是查询字符串)时,会调用特定的函数。有可能吗?

抱歉英语。

3 个答案:

答案 0 :(得分:1)

使用该PHP脚本将用户重定向到另一个页面(您可以使用GET参数和if-query来编译其他内容):

<?php
header('Location: http://www.example.com/#');
?>

使用它来运行一个函数:

window.onload = function() {
if(window.location.hash) {
    //Run your JS code here
}
}

重要信息:主题标签表示重定向

答案 1 :(得分:1)

我找到了一个只有php和.htaccess的解决方案,这要归功于miny1997的想法。

的index.php:

<?php
    if (isset($_GET['menu']))
    {
        switch ($_GET['menu'])
        {
            case 'menu1':
                // jquery script 1
                break;
            case 'menu2':
                // jquery script 2
                break;
        }
    }
?>

htaccess的:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?menu=$1 [L,QSA]

答案 2 :(得分:0)

我不使用htaccess来改变页面的内容,但你可以通过javascript实现你所要求的。您可以使用window.location变量来确定页面所在的子目录(有关详细信息,请参阅此处:http://css-tricks.com/snippets/javascript/get-url-and-url-parts-in-javascript/)。

然后你可以控制是否使用带有基本简单if块的.show()函数。