我目前正在编写一个复杂的AJAX应用程序,整个站点都有干净的URL.目前,PHP为每个页面创建了基本布局,但是当用户点击链接时,我不想离开每个页面,而且我不希望在URL中有哈希,因为它赢了"与网站的其他部分相适应.我知道这在网站之前已经出现了负载并且似乎很常见,但我想知道是否有一种简洁的HTML5方式只是在地址栏中出现更改URL,即使它在技术上保持相同页.
正如GitHub的博客中所见,他们已经实现了HTML5的JavaScriptpushState浏览功能(适用于现代浏览器),无需使用Hash Bangs即可实现AJAX导航.
代码很简单:
$('#slider a').click(function() {
history.pushState({ path: this.path }, '', this.href)
$.get(this.href, function(data) {
$('#slider').slideTo(data)
})
return false
})
Run Code Online (Sandbox Code Playgroud)
这非常优雅地允许他们:
#,像Twitter那样- twitter.com/stackexchange →交通twitter.com/#!/stackexchange)我的问题是,JavaScript如何防止pushState一个网站使用模仿另一个网站,从而导致令人信服的网络钓鱼攻击?
至少看起来域名无法更改,但网站内的多条路径,可能是多个不相关且不可信的内容提供商?一条路径(IE / joe)是否可以模仿另一条路径(pushState / jane)并提供模仿内容,可能具有恶意目的?