如果已经在页面上,HTML链接什么都不做

时间:2017-09-14 20:52:49

标签: html

如果我在某个页面上并单击导航栏中的相应链接,那么当我当前在该位置时,如何阻止链接重新加载页面(即什么都不做)?我仍然希望链接能够正常运行,但只有当我已经在该页面上时才会执行任何操作。

1 个答案:

答案 0 :(得分:1)

到目前为止,这不是最好的"这样做的方式我确定,但是可以使用Javascript / JQuery来完成,因为我在移动Web应用程序中需要时已经完成了。

var url = window.location.pathname,
urlRegExp = new RegExp(url.replace(/\/$/,'') + "$");
$('a').each(function(){
    if(urlRegExp.test(this.href.replace(/\/$/,''))) {
        $(this).click(function(event) {
            event.preventDefault();
        });
    }
});

如果PHP是一个选项,你可以尝试这样的事情:

\\Run this at top of page
<?php

        function getPageName()
        {
            $filename = $_SERVER["SCRIPT_NAME"];
            $breakfile = Explode('/', $filename);
            $pfile = $breakfile[count($breakfile) - 1];

            return $pfile;
        }

    ?>

\\Modify HTML links to something like this    
    <?php if(getPageName() == 'FILENAME.html'){ ?>

        \\Nav Link Here
        <a href="#" >NAV TITLE</a>


    <?php }else{ ?>


    <a href="FILENAME.html" >NAV TITLE</a>


    <?php } ?>