网址更改没有哈希 - 刘海和片段

时间:2011-11-16 21:22:19

标签: php javascript jquery ajax url-rewriting

在线阅读了关于哈希爆炸的内容。我决定坚持我们目前的网址结构。我一直在开发一个网站,并使其完全非JavaScript。我进入了一个阶段,我可以开始升级一些东西到花哨的javascript和ajaxy东西。

提供一些信息。基本上,当用户访问该站点时,主页是主要区域。它有一些统计数据和一个框。在此框中是公司的详细信息,其中包含一些号召性用语按钮(转到地图,联系人,e.c.t。)。

在搜索公司或直接链接到公司时,您可以访问

http://mysite.com/company/ 公司名称

这是由apache重写为

的url

http://mysite.com/index.php?company= 公司名称

然后我的php脚本加载了公司的详细信息e.c.t。

现在我来做一些ajaxy的东西。我希望用户能够点击我网站上的公司链接,并且无需重新加载页面即可使用搜索。因此,如果他们点击顶部查看公司的名称,框中会出现一个快速加载符号,然后将公司详细信息加载到该区域。

这再一次不是一个问题。我可以通过锚点上的点击处理程序以多种方式执行此操作,类名绑定或url正则表达式绑定。

然而,继承人我的问题。我需要能够更改URL,以便它始终反映公司名称。用户通过复制和粘贴URL来共享链接。即使我提供“点击复制到剪贴板”永久链接按钮,他们也很难使用它。 Ebay是一个典型的例子,它们提供了很好的分享网址,但是很常见的是看到在这个地方的论坛上发布的长篇网址。

Hashbangs或其他支离破碎的网址方法可以让我这样做。我还可以将javascript处理程序附加到document.load,这样我就可以在用户从碎片网址访问网站时填充该框。但是,如果非JavaScript用户使用碎片网址访问该网站,他们只会获取该主页,并且必须手动搜索该公司。

考虑到我开始做所有非js的时间和精力。我现在不想破坏那个或者必须决定是否转储非js用户。但是,加载ajax的内容非常重要,因此共享网址。

理想的解决方案可能是php读取碎片网址的方式,也可以是javascript更改网址路径的方式

任何人都可以帮忙吗?

P.S:就这篇文章道歉。只是想尽可能多地提供信息并分享我从研究中发现的东西,以节省时间,我可能已经看过的东西

1 个答案:

答案 0 :(得分:1)

看看我构建的AJAX系统,不使用主题标签。它在现代浏览器中使用window.history,而在不支持酷AJAX内容的旧版本中使用{{1}}。

http://xeoncross.github.com/MicroStream/

您可以在我的网站上看到它:http://xeoncross.com

这个简单,评论很好的代码不到10kB,所以你应该能够把握它没问题。