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