嗨,大家好我已经开发了一个整洁的搜索功能的谷歌地图应用程序 - 但是我注意到,我想有一些像facebook家伙做的一样,有一个硬链接到由ajax查询生成的页面。例如你点击Facebook上的链接,它附加到当前的网址,你可以复制粘贴新的网址来获得请求的页面...我如何实现这样的事情...Url寻找Ajax请求的结果
0
A
回答
1
您可以使用从withing JavaScript中location.hash
(URL的#后的部分)设置 “硬链接”。这不会导致页面重新加载,就像更改location.href
一样,但是您可以获取该值并在JavaScript中使用它。
考虑这个例子:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<head>
<title>Hash test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<script type="text/javascript">
window.onload = function() {
// The substring(1) removes the # from the hash.
var hash = window.location.hash.substring(1);
// Use a default value if no has was passed.
if(hash == '') {
hash = 'Nothing';
}
// Use the value.
document.getElementById('selection').innerHTML = hash;
}
/** Sets the hash and updates the page value */
function setHash(newHash) {
window.location.hash = newHash;
document.getElementById('selection').innerHTML = newHash;
}
</script>
</head>
<body>
<div>
<div>
<a href="javascript: void();" onclick="setHash('page1');">Page 1</a> |
<a href="javascript: void();" onclick="setHash('page2');">Page 2</a> |
<a href="javascript: void();" onclick="setHash('page3');">Page 3</a>
</div>
<div>
You have selected: <span id="selection">...</span>
</div>
</div>
</body>
</html>
当你点击页面链接之一,location.hash
改变,浏览器的URL进行更新,并在页面中使用的值被改变。如果用户直接从地址栏中复制URL或对其进行书签,则当再次请求URL时,所选页面将被重新加载。
2
听起来像你想要的使用可用于重新访问当前状态的页面的链接更新浏览器的URL。这可以通过操纵浏览器历史来完成。
的一个很好的解决办法是:
真正简单的历史
http://code.google.com/p/reallysimplehistory/
真正简单的历史是一个轻量级的 JavaScript库的书签和浏览器历史记录中 阿贾克斯管理 /DHTML应用程序。 RSH 将应用程序数据序列化在 内部JavaScript高速缓存中,以便 书签和后退按钮可以是 用于将您的应用程序返回到以前的状态 。
退房这个很好的例子:
http://www.justise.com/2009/01/26/enabling-the-back-button-in-ajax-applications/
相关问题
- 1. 未经授权的结果AJAX请求
- 2. 无法找到请求者URl AJAX
- 3. 在xhr onprogress中查找两个异步ajax请求的结果
- 4. jquery ajax请求中的URL
- 5. Ajax请求相同的URL
- 6. jQuery Ajax请求没有加载结果
- 7. 阅读json结果,同时请求ajax请求不好
- 8. AJAX请求结果每次都访问结果页
- 9. Codeigniter Ajax请求URL问题
- 10. ajax请求更改url
- 11. CakePHP和Ajax请求url
- 12. AJAX请求URL路由
- 13. 需要TP寻找PHP中的请求源URL
- 14. Jquery + Ajax多连接AJAX请求的书写结果
- 15. 从几个结合AJAX请求的结果
- 16. `fetch`请求不显示想要的结果,`ajax`请求确实有
- 17. AJAX请求中的相对URL
- 18. 发送多个url的ajax请求
- 19. Ajax请求中的jQuery Ajax请求
- 20. 请求AJAX请求的URL由mod_rewrite处理?
- 21. 寻找#在URL
- 22. 返回Coffeescript中的Ajax请求的结果
- 23. jQuery - 连接未知数量的Ajax请求的结果
- 24. Ajax请求中的表单被提交的结果
- 25. javascript验证函数中的ajax请求的结果
- 26. backbone.js根据ajax请求的结果采取不同的行动
- 27. 使用http.put()的结果:“400错误的请求URL例外”
- 28. Hibernate Hql寻找paginator的结果大小
- 29. 跟踪XMLHTTP请求结果
- 30. 显示内容来自AJAX请求的结果文本
你在说要为网址添加散列吗?正如在http:// domain/path?query#hash的最后部分一样 – Atli 2010-01-24 09:09:23