我希望能够更改页面的地址,但在进行更改时不会发出任何HTTP请求。如何使用JavaScript完成?
答案 0 :(得分:11)
您的意思是,我正在访问http://www.fakebank.example
,您希望地址栏显示http://www.yourbank.example
?我认为有明显的理由这是不可能的。
答案 1 :(得分:0)
您可以在没有页面加载的情况下设置location.hash,但我不确定这是否是您想要的 - 您的问题相当模糊。
答案 2 :(得分:0)
假设您的意思是浏览器地址栏中指明的地址,我不相信它可以。据我所知,设置document.location或window.location将自动触发页面重新加载。
正如olliej所说,你可以改变哈希参数(a.k.a.片段标识符),它不会触发页面重新加载。
答案 3 :(得分:0)
您不想添加历史记录条目吗?只需使用location.replace(..)
。
答案 4 :(得分:0)
直接回答你的问题:这是不可能的。你问如何在不去另一页的情况下进入不同的页面,这是无稽之谈。
虽然如果页面已经在浏览器缓存中(并且已经设置了远期日期),那么从技术上讲,用户可以转到该页面而无需再次从服务器请求它。但你无法保证任何事情。
我认为你可能正在寻找的东西就像使用框架一样。在example.com/index.html
上,您可以设置完整尺寸的框架,并添加不同的页面,例如example.com/page2.html
。然后框架内的任何链接都不会更改浏览器中列出的URL。有关信息,请参阅this tutorial。
答案 5 :(得分:0)
您所要求的内容称为URL spoofing。
Any browser allowing this存在严重的安全问题。