相关疑难解决方法(0)

如何在不重新加载页面的情况下修改URL?

有没有办法在不重新加载页面的情况下修改当前页面的URL?

如果可能的话,我想访问#hash 之前的部分.

我只需要在域之后更改部分,因此它不像我违反了跨域策略.

 window.location.href = "www.mysite.com/page2.php";  // Sadly this reloads
Run Code Online (Sandbox Code Playgroud)

html javascript url friendly-url url-rewriting

2221
推荐指数
17
解决办法
129万
查看次数

更改浏览器地址栏中的URL而不重新加载现有页面

可能重复:
修改URL而不重新加载页面

我正在寻找一种方法,使用我当前的javascript动画使我的内部链接功能正常,而不会在您点击它们时导致页面重新加载 - 但我希望在浏览器中更新URL.

许多网站都这样做,这是一个很好的例子:http://grooveshark.com/#!/ search?q = adf

如何在没有页面重新加载的情况下获取更新URL?


更多细节:

目前我的页面上的链接看起来像<a href="#aboutus">About Us</a>,这将带您<div id="aboutus"></div>通过javascript.

javascript看起来像:

$("#navigation a").click(function(e){
  animate(..scroll to section..);
  e.preventDefault(); // <==========
});
Run Code Online (Sandbox Code Playgroud)

我相信"e.preventDefault()"是导致URL不被更新的原因,但是如何在更改URL时阻止浏览器重新加载页面?

其他网站如何做到这一点?这种方法叫什么(所以我可以进一步研究它)?

谢谢.

html javascript url

29
推荐指数
1
解决办法
6万
查看次数

在JQuery中执行URL哈希/历史记录的最佳库是什么?

我一直在寻找JQuery库的URL哈希,但发现没有什么是好的.有"历史插件",但我们都知道它是有缺陷的并且不灵活.

我在div中加载我的页面.我需要一种方法来进行后退/前进以及url散列.

mydomain.com/#home
mydomain.com/#aboutus
mydomain.com/#register
Run Code Online (Sandbox Code Playgroud)

什么是最好的库可以处理所有这些?

javascript ajax jquery fragment-identifier hashchange

23
推荐指数
1
解决办法
2万
查看次数

使用jQuery更改浏览器地址栏URL

是否可以直接使用jQuery更改浏览器地址栏中的URL而无需刷新页面或重定向到更改的URL?

或者由于安全问题,这是不可能的?

例如,我有一个jquery.ajax驱动的列表,所以没有帖子后退/屏幕刷新.该列表具有分页元素.因此,对于第一页,浏览器地址栏中的URL是:

http://company/list.php?page=1
Run Code Online (Sandbox Code Playgroud)

如果我从列表的分页部分单击第2页,它将显示基于第2页的列表,但由于这发生了ajax样式而没有刷新/回发,浏览器URL保持在

http://company/list.php?page=1
Run Code Online (Sandbox Code Playgroud)

我希望能够将其更改为

http://company/list.php?page=2
Run Code Online (Sandbox Code Playgroud)

没有回发/重定向到新网址

这不可能吗?

ajax jquery

23
推荐指数
2
解决办法
7万
查看次数

如何使用JavaScript加载页面而不是重定向?

我正在尝试做的最好的例子是YouTube的导航系统.如果单击指向视频的链接,则会在页面顶部显示一个红色条,指示已加载所请求页面的数量.当请求的页面加载完成后,它会立即替换上一页的内容,并开始加载视频.有几件事情正在发生,以使其尽可能无缝.

  • 修改URL以匹配新页面.
  • 没有重定向(这很难解释).
  • 新页面将添加到历史记录中.
  • Back and Forth导航无缝地工作.

我修改了URL:

window.history.pushState("object or string", "Title", "/new-url");
Run Code Online (Sandbox Code Playgroud)

我试图加载请求的页面:

$.("html").load("newPage.php", function(){});
Run Code Online (Sandbox Code Playgroud)

这将使用新页面代码替换整个上一页的代码.这有几个问题:

  • 来回导航与URL一起使用,但事件处理程序必须检测到这一点并加载正确的页面.我用过这个:

    $(window).on('popstate', function() {
        $('html').load("../"+window.location.pathname, {page:"account"});
    });
    
    Run Code Online (Sandbox Code Playgroud)
  • 使用$.load()不能(不应该)加载任何新的脚本标签脚本标签,因为Synchronous XMLHttpRequest on the main thread is deprecated

我希望能做什么:

  • 使用JQuery和AJAX无需重定向无缝加载页面
  • 让新页面能够拥有新的脚本和PHP标记(PHP可能是不可能的,我可能必须使用AJAX来复制它).

资料来源:

使用新URL更新地址栏,不使用哈希或重新加载页面

使用jQuery将HTML页面动态加载到div中

JS或Jquery浏览器后退按钮点击检测器

不推荐在主线程上使用同步XMLHttpRequest

javascript php ajax jquery html5

8
推荐指数
1
解决办法
607
查看次数

锚标签不在firefox和chrome中工作

我面临一个惊人的问题.我的客户端网站上的图像有超链接.它在IE中工作但是当我在Chrome/Mozilla中打开相同的页面时,它没有显示锚点指针,点击任何一个都没有任何反应.我的链接代码是

<a href="Home.aspx?ModuleID=1">
 <img alt="Alternative Text" src="Images/Logo.gif" />
</a>
Run Code Online (Sandbox Code Playgroud)

有人知道问题是什么吗?

html anchor firefox google-chrome

7
推荐指数
5
解决办法
6万
查看次数

Backbone.js更改url而不重新加载页面

我有一个拥有用户页面的网站.在该页面上,有几个链接可供您浏览用户的个人资料.我想这样做,当点击其中一个链接时,网址会更改,但包含用户横幅的页面的前三分之一不会重新加载.

我正在使用Backbone.js

我有一种感觉,我处于这样一种情况,即我对我正在处理的问题有如此糟糕的理解,我正在问错误的问题,所以请告诉我,如果情况似乎是这样的话

backbone.js pushstate

7
推荐指数
1
解决办法
1万
查看次数

使用后退按钮时 AJAX 结果已经丢失

所以我建立了一个类似于 Twitter 的分页系统,其中显示了 20 个结果,用户可以单击一个链接来显示接下来的 20 个或所有结果。显示的结果数量可以由 URL 末尾的参数控制,但是,这不会使用 AJAX 进行更新,因此如果用户单击其中一个结果然后选择返回,他们必须仅从 20 开始返回结果。

我的一个想法是,如果我在使用 AJAX 获取结果时更新 URL,它应该——我希望——使用户能够来回移动而不会丢失显示的结果数量。

这实际上是可能的还是我完全错了?

另外,我将如何更改 URL?我有一种使用 javascript 编辑 URL 并将其设置为变量的方法,但我不确定如何将该变量应用于 URL。

这里的任何帮助都会很棒!

旁注:我使用 jQuery 的 load() 函数来完成我所有的 AJAX。

javascript ajax jquery url-rewriting hashchange

5
推荐指数
1
解决办法
5640
查看次数

无需重新加载即可更改地址栏中的 URL

我发现了很多关于更改 url(无需重新加载)的问题。一些答案是 - 使用插件,使用location.hash...,或重新加载

但他们都没有为我工作。

在网站上,我有一个下拉菜单,在更改时,url 参数应该已更改。

所以我想做的是:

我想改变:www.foo.com?country=Germanywww.foo.com?country=Slovenia不重装。

我正在努力实现的目标是可能的吗?

javascript

5
推荐指数
1
解决办法
4600
查看次数

如何在 Apache 中配置路由?

我如何隐藏我的 .html 文件,例如当我去 www.mysite.com 它重定向到 www.mysite.com/index.html 但它隐藏了 /\index.html 所以它保持为 www.mysite.com 但实际上是 www.mysite.com/index.html 。我真的不知道如何解释,但如果你理解我,请帮忙,谢谢。

html apache routing

5
推荐指数
1
解决办法
3592
查看次数