Javascript AJAX应用程序中的URL重写
我正在做一个简单的在线申请。 我有一个带有几个按钮的导航栏和一个“div”,所有新内容都将动态加载到其中,即当我单击“About”时,它会将页面部分加载到“div”中,而不会使用.load()函数重新加载整个页面。问题是: 如果我需要提供指向我网站文档部分的链接,或者用户希望存储此类链接,那么在浏览我的网站时,url不会被重写。当用户存储默认链接时,它将始终将用户链接到默认的“主”部件Javascript AJAX应用程序中的URL重写,javascript,jquery,url,web,Javascript,Jquery,Url,Web,我正在做一个简单的在线申请。 我有一个带有几个按钮的导航栏和一个“div”,所有新内容都将动态加载到其中,即当我单击“About”时,它会将页面部分加载到“div”中,而不会使用.load()函数重新加载整个页面。问题是: 如果我需要提供指向我网站文档部分的链接,或者用户希望存储此类链接,那么在浏览我的网站时,url不会被重写。当用户存储默认链接时,它将始终将用户链接到默认的“主”部件 如何重写URL以及最正确的方法是什么?作为选项,您可以使用location.hash 例如,用户单击 您正在加
如何重写URL以及最正确的方法是什么?作为选项,您可以使用
location.hash
例如,用户单击
您正在加载“关于”页面的内容。 此外,浏览器地址栏中的URL将更改为类似
http://mysite.com/hello.jsp#about
所以现在用户可以复制这个URL并访问它
然后在$(document).ready()
中,您可以检查位置.hash
,在其中找到'#about'
锚定,然后加载适当的内容
另一种选择是使用JavaScript或您喜欢的任何其他JavaScript MVC框架,这将帮助您构建富客户端应用程序并为您处理这些事情。根据我的说法,适当的方法是更新URL的哈希。例如example.com/#About等。人们可以将这些内容添加到书签中。在读取URL中的哈希标记并加载相应页面时,必须注意进行AJAX调用
我要做的是在事件中调用ajax,而不是单击。IE8对所有现代浏览器都支持此事件。如果您想支持IE7,请使用Ben Alman的 您可以在url中使用哈希来标识加载的节,并在获取页面时加载内容,即:。但我认为你遗漏了一个更大的问题,那就是,你的内容不会被索引。ajax非常好,但我认为您使用它有误。看看history.js或jQuery BBQ插件,它们可以更改url中的哈希值,并反向解析哈希值,以便加载适当的内容。它们是为ajax友好书签而设计的,只有最新的浏览器才支持。您可能想使用