Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何隐藏链接的URL?_Javascript_Jquery - Fatal编程技术网

Javascript 如何隐藏链接的URL?

Javascript 如何隐藏链接的URL?,javascript,jquery,Javascript,Jquery,我有一个小问题,我是一个有点noob的编码,但可以做HTML ok ish。那么好吧,我如何从我的url中删除,目前它是/contact,但我只想要/contact。在我的custom.js中有一个隐藏散列的选项,但是当我这样做时,/{pagename}消失了,我在地址栏中看到的就是我的域。这是一个带有javascript的登录页,因此它们不是这样的页面,它只是向下滚动页面到正确的部分 所以我在某个地方看到,我需要将returnfalse添加到类似click事件的内容中?我在任何js文件中都找不

我有一个小问题,我是一个有点noob的编码,但可以做HTML ok ish。那么好吧,我如何从我的url中删除,目前它是/contact,但我只想要/contact。在我的custom.js中有一个隐藏散列的选项,但是当我这样做时,/{pagename}消失了,我在地址栏中看到的就是我的域。这是一个带有javascript的登录页,因此它们不是这样的页面,它只是向下滚动页面到正确的部分

所以我在某个地方看到,我需要将returnfalse添加到类似click事件的内容中?我在任何js文件中都找不到这个版本。另一个是window.location.href,但也找不到

这是我在所有js文件中找到的唯一东西

jQuery(document).ready(function() {

    /* navigation local scroll  ----------- */
        jQuery("ul.nav").localScroll({ 
                event:'click', 
                hash:true,
                easing:'easeInQuad', 
                duration:1000,
                offset:-45
        });
因此,从本质上讲,我需要做什么来删除散列。

首先,一些解释:URL末尾的contact表示浏览器将尝试访问HTML中id属性等于contact的元素

接下来,您的解决方案:

您将无法仅使用客户端技术(例如:javascript)删除内容之前的哈希,您需要通过服务器重写URL,例如:使用Apache重写模块

但事实上,如果您不介意URL中的内容丢失,您可以做的是使用event.preventDefault;在javascript中滚动到此元素时防止URL更改;。。。或者,对于localScroll内容,可以通过将哈希选项设置为false来完成:


是的,我在上面解释过。当我这样做时,/{pagename}消失了,我看到的只是我的域名是的,这就是我的意思,对不起。这对我来说似乎很清楚,但很好。我不确定我是否真的遵循了你想要实现的目标,但是如果你只是想让浏览器导航栏显示你的URL,而不带标签,这样如果用户刷新页面,它将在顶部加载,你可以尝试这样的操作:window.history.pushState'null',null','contact';“你需要通过你的服务器来重写你的URL”-这有点违背了让所有内容首先驻留在一个文档中的目的。当然还有一个客户端解决方案——HTML5历史API。嗯,我已经做了错误的事情,我不想丢失内容,我是电视和剧院的布景设计师,所以我经常给网站的某些部分提供URL,所以丢失内容对我来说不好。最重要的是我的内容和散列不能出现。@CBroe事实上我很确定这样的东西存在,但我没有勇气编辑我的答案,谢谢你的通知@user3808773也许您可以看看@CBroe指出的HTML5历史API
jQuery("ul.nav").localScroll({ 
                event:'click', 
                hash:false, // oh yeah
                easing:'easeInQuad', 
                duration:1000,
                offset:-45
        });