0

我希望能够更改页面的地址,但在进行更改时不发出任何 HTTP 请求。如何使用 JavaScript 做到这一点?

4

6 回答 6

11

您的意思是,我正在访问http://www.fakebank.example并且您希望显示地址栏http://www.yourbank.example?我认为有明显的原因这是不可能的。

于 2009-10-18T20:15:56.120 回答
0

您可以在不加载页面的情况下设置 location.hash,但我不确定这是否是您想要的——您的问题相当模糊。

于 2009-10-18T19:04:26.403 回答
0

假设你指的是浏览器地址栏中显示的地址,我不相信它可以。据我所知,设置 document.location 或 window.location 将自动触发页面重新加载。

正如 olliej 所说,您可以更改不会触发页面重新加载的哈希参数(又名片段标识符)。

于 2009-10-18T19:10:23.767 回答
0

您不想添加历史条目吗?只需使用location.replace(..).

于 2009-10-18T22:22:53.963 回答
0

直接回答你的问题:这是不可能的。您在问如何在不转到其他页面的情况下转到其他页面,这是无稽之谈。

虽然如果一个页面已经在浏览器缓存中(并且已经设置了一个遥远的未来日期),那么从技术上讲,用户可能能够转到该页面而无需再次从您的服务器请求它。但是你不能保证什么。

我认为您可能正在寻找的是使用框架之类的东西。在example.com/index.html您可以设置全尺寸框架并包含不同的页面,例如example.com/page2.html. 然后框架内的任何链接都不会更改浏览器中列出的 URL。有关信息,请参阅本教程

于 2009-10-19T12:37:43.317 回答
0

您所要求的称为URL 欺骗

Any browser allowing this has a severe security issue.

于 2009-10-19T18:19:19.647 回答