Cam*_*ron 6 javascript jquery html5 history.js
我在这里使用history.js插件:https://github.com/browserstate/history.js/用于处理我的应用程序中的HTML5历史记录.我想处理二者 HTML5和HTML4的版本(使用散列后备).
你可以在这里看到演示:http://dev.driz.co.uk/history45/
当一个人访问带有哈希的网址时(如果没有点击网站上的链接),我如何根据哈希加载正确的内容?因为服务器将无法理解代码是什么,我不想必须通过检查哈希是否存在然后通过AJAX调用内容来使请求加倍.例如:http://dev.driz.co.uk/history45/#about.php不加载about.php内容.
更新:
我在这里看到了一些例子:https://gist.github.com/balupton/858093这似乎涵盖了加载正确的内容(甚至是优化版本).但我正在努力让它与我的HTML5版本结合使用.查看源:http://dev.driz.co.uk/history45/它只在个人点击链接而不是页面加载时运行,这是原始问题.
更新2:
在这里尝试了一个例子:http://dev.driz.co.uk/history4/#/contact.php,使用源代码中的代码段来获取要在contact.php内容中加载的内容,但是不起作用......?但根据这篇文章:https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling#wiki-why-the-hashbang-is-unnecessary这段代码应该是AJAX加载正确的内容如果它有哈希值.有什么想法吗?
如何强制/#/在root上并使用`#/'为所有URL添加前缀
目前,如果您尝试通过HTML4浏览器中的链接访问页面,您最终会得到如下奇怪的网址:
http://dev.driz.co.uk/history45/#contact.php 和 http://dev.driz.co.uk/history45/#./
代替:
http://dev.driz.co.uk/history45/#/contact.php 和 http://dev.driz.co.uk/history45/#/
如果我从内页开始:
http://dev.driz.co.uk/history45/contact.php并选择一个链接然后我最终得到:http://dev.driz.co.uk/history45/contact.php#about.php当它应该是什么时:http://dev.driz.co.uk/history45/#/about.php
当一个人访问带有哈希值的网址(未单击网站上的链接)时,如何根据哈希值加载正确的内容,因为服务器无法理解代码是什么
服务器不会看到#或后面的任何内容
我不想通过检查哈希是否存在然后通过 AJAX 调用内容来加倍请求。
您唯一的其他选择是重定向(通过locationJavaScript 设置)到您在历史 API 可用时将使用的 URL。
如何在根目录上强制使用/#/?
location如果不支持历史 API,您必须重定向到主页(再次通过设置)。
我认为,如果他们使用不支持历史记录 API 的浏览器(这可能意味着现在的 Windows XP 和 IE 8),那么他们可以获得非 Ajax 回退,而我永远不必处理哈希 hack 。
| 归档时间: |
|
| 查看次数: |
1951 次 |
| 最近记录: |