JQuery Ajax在url中添加哈希值
JQuery Ajax adding hash in the url
我有这个代码在这里使用struts2-jquery插件
<h4>Choose A task</h4>
<ul>
<s:url value="views/ajaxvalidation.jsp" var="ajaxvalidation" >
<s:param name="menuId" value="1"/>
</s:url>
<li><sj:a targets="resultContent" href="%{ajaxvalidation}">Ajax Validation</sj:a></li>
</ul>
当我点击它的内容时,url会变成这样,url中没有任何变化。它仍然保持不变,我想要的是,当我点击链接的时候,会发生这样的事情,www.myapp.com/#ajaxvalidation
。当我运行代码时锚标记被翻译成这样的东西
<a id="anchor_1365013162" href="javascript:void(0)">Ajax Validation</a>
在给定的情况下,我如何在url中添加哈希?
下面是一个工作示例(不考虑Struts2):
<html>
<body>
<a id="123" href="">Add Hash</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("a").click(function(e) {
window.location.hash = $(this).attr("id");
e.preventDefault();
});
});
</script>
</body>
</html>
如果你不想跳转页面,那么有一个解决方法是在现代浏览器上使用历史API,并在旧浏览器上后退:
if(history.pushState) {
history.pushState(null, null, '#myhash');
} else {
location.hash = '#myhash';
}
感谢Lea Verou
相关文章:
- 动态添加哈希标记;t工作
- 在Javascript中实现对哈希值的暴力攻击
- 用户单击带有哈希值的链接以访问该页面,如果禁用Javascript会发生什么情况
- 要发送到控制器的 HREF 链接中的哈希值
- 使用 JavaScript 计算 Blob 的哈希值
- Angular ui路由器向url添加哈希
- Jquery在尝试添加url参数时添加哈希符号
- JavaScript 文件哈希值与文件的一部分一起生成
- JavaScript 隔离哈希值
- 如何阻止任何滑块向 URL 添加哈希标签
- JavaScript 获取以前的哈希值
- 设置使用 window.open() 打开的空白页的哈希值
- Chrome 不返回哈希值
- Javascript 使用哈希值重新加载页面
- 为什么从其他网络返回会保留最后一个哈希值,同时显示第一个哈希值的内容
- 来自 Javascript 和 PHP 的不同哈希值
- 在location.pathname前添加哈希值
- 对于不支持的浏览器,Angular不会向ng-href中添加哈希值
- 如果页面 URL 中存在哈希值,则添加类
- JQuery Ajax在url中添加哈希值