当前位置: 首页 > 面试题库 >

jQuery的:更改URL地址而不重定向?[重复]

羊舌胡非
2023-03-14
问题内容

如何在不重定向页面的情况下更改URL地址?

例如,当我单击下面的链接时:

<a href="http://mysite.com/projects/article-1" class="get-article">link</a>

我将从链接中获取URL:

var path = object.attr('href');

如果我在下面这样做,页面将被重定向:

window.location = path;

我想做一个类似此站点的操作,当您单击图像时,ajax调用将获取请求的页面,并且窗口上的URL地址也将被更改,因此它具有用于单击的路径。


问题答案:

注意:history.pushState()现在受支持-请参阅其他答案。

不能 更改整个URL而无需重定向,您可以做的是更改 hash

散列
是#符号后进入的URL的一部分。最初的目的是将您(本地)定向到HTML文档的各个部分,但是您可以通过javascript读取和修改它,以使其_像全局变量一样_ 使用。

如果应用得当,此技术可通过两种方式使用:

  1. 浏览器历史记录将记住您执行的每个不同步骤(因为url + hash更改了)
  2. 您可以拥有一个地址,该地址不仅链接到特定的html文档,而且还为您的javascript提供了有关操作的线索。这意味着您最终指向了Web应用程序内的状态。

要更改哈希,您可以执行以下操作:

document.location.hash = "show_picture";

要观察哈希更改,您必须执行以下操作:

window.onhashchange = function(){
    var what_to_do = document.location.hash;    
    if (what_to_do=="#show_picture")
        show_picture();
}

当然,哈希只是一个字符串,因此您可以使用它做几乎所有的事情。例如,如果您使用JSON对其进行 字符串化, 则可以将整个对象放在其中。

有非常好的JQuery库可以执行高级操作。



 类似资料:
  • 子域应在codefile中查找但未更改URL的任务。有可能吗? 我尽量 但它肯定会导致URL的变化,但我不需要它。

  • 问题内容: 我想知道如何更改URL而不重定向,就像在我们的网站http://dekho.com.pk/ads-in- lahore 上那样, 当我们单击选项卡时url会更改,但是页面完全重新加载。在上还有其他问题,表明这是不可能的,但我想知道上述网站是如何实现的。谢谢 问题答案: 用途:

  • 本文向大家介绍nginx地址重定向的方法,包括了nginx地址重定向的方法的使用技巧和注意事项,需要的朋友参考一下 1、假设要把webroot/static/index.html访问重定向到static/index.html 例如当我们通过浏览器访问http://192.168.11.210/webroot/static/index.html,实际访问的是web目录下面的static/index.

  • 我在我的react应用程序中使用react router v4和material ui。我想知道一旦点击GridList中的,如何更改URL。 我最初的想法是使用的处理程序。然而,我能看到的重定向的唯一方法是使用组件或。如何在不呈现这两个组件的情况下更改URL? 我尝试了,但似乎不起作用。

  • 我正在使用JSF2和PrimeFaces。我如何编写selectOneMenu,当用户更改菜单中的选项时,调用JSF导航将用户重定向到同一个页面,但参数不同?我只需要换颜色。 来自网址: MyView。xhtml:(无工作) ManagedBean:

  • 我只想重定向的人从一个IP地址到一个域。 `apiversion:extensions/v1beta1种类:入口元数据:名称:web-入口注释:kubernetes.io/Ingress.allow-http:“false”nginx.Ingress.kubernetes.io/backend-protocol:“https”规范:tls: 主机: my.page.com秘密名称:tls-秘密规则