URL地址中的#符号使用说明


Posted in Javascript onFebruary 12, 2011

一般我们想让一个a标签点击后执行javascript代码,有以下几种写法:
方式一:<a href="#" onclick="alert(1);">点击一</a>
这种方式的缺点就是点击后会在地址栏的URL后面加#号,同时把页面移动到顶部,一般不建议使用。
方式二:<a href="javascript:void(0);" onclick="alert(1);">点击一</a>
这种方式避免了方式一的缺点,点击后对页面没有任何影响。但是有一个致命的缺点,就是在IE6下不能执行form对象的submit()方法,也不能执行跳转语句,比如
<a href="javascript:void(0);" onclick="document.forms[0].submit();">点击一</a>
<a href="javascript:void(0);" onclick="window.location.href='http://www.google.com';">点击一</a>
在IE6下就无效,换成href=”#”就能在IE6下正常执行。

方式三:<a href="###" onclick="alert(1);">点击一</a>
点击后虽然会在地址栏的URL后面加三个#号,但是不会影响滚动条,同时在IE6下也能执行form对象的submit()方法与跳转语句,算是一个比较折中的方法。

结论:我个人认为如果执行的javascript方法中需要提交表单、跳转页面,则用方式三,其它情况都用方式二。

另:这又附带引出另一个问题,一般重新加载当前页面用如下的javascript代码:
window.location.href = window.location.href;
但是当URL地址中含有#时,上述代码无效,于是需要用如下代码:
window.location.href = window.location.href.split('#')[0];
将URL地址以#符号分割开,取第一部分即可。

在很多情况下/index.htm#desc,后面的desc可能就是参数,不容易的参数显示不同的内容,不是简单锚点,而是ajax读取内容。

Javascript 相关文章推荐
JS类库Bindows1.3中的内存释放方式分析
Mar 08 Javascript
动态样式类封装JS代码
Sep 02 Javascript
JavaScript对象、属性、事件手册集合方便查询
Jul 04 Javascript
详解前后端分离之VueJS前端
May 24 Javascript
Vue.js组件通信的几种姿势
Oct 23 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
Oct 24 Javascript
实现div滚动条默认最底部以及默认最右边的示例代码
Nov 15 Javascript
vue脚手架中配置Sass的方法
Jan 04 Javascript
Vue表单之v-model绑定下拉列表功能
May 14 Javascript
在vue中使用防抖和节流,防止重复点击或重复上拉加载实例
Nov 13 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 Javascript
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
基于Jquery制作的幻灯片图集效果打包下载
Feb 12 #Javascript
基于jquery的jqDnR拖拽溢出的修改
Feb 12 #Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
Feb 12 #Javascript
在vs2010中调试javascript代码方法
Feb 11 #Javascript
juqery 学习之六 CSS--css、位置、宽高
Feb 11 #Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
Feb 11 #Javascript
juqery 学习之五 文档处理 插入
Feb 11 #Javascript
You might like
PHP.MVC的模板标签系统(五)
2006/09/05 PHP
php中防止恶意刷新页面的代码小结
2012/10/31 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP 验证登陆类分享
2015/03/13 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
php ajax confirm 删除实例详解
2019/03/06 PHP
判断iframe是否加载完成的完美方法
2010/01/07 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
jquery获取tr并更改tr内容示例代码
2014/02/13 Javascript
js获得参数的getParameter使用示例
2014/02/26 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
JavaScript中0和&quot;&quot;比较引发的问题
2016/05/26 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
[02:51]DOTA2 2015国际邀请赛中国区预选赛第一日战报
2015/05/27 DOTA
Python 多线程抓取图片效率对比
2016/02/27 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
2019/10/18 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
python如何构建mock接口服务
2021/01/28 Python
荷兰网上买鞋:MooieSchoenen.nl
2017/09/12 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
计算机专业毕业生的自我评价
2013/11/18 职场文书
大学信息公开实施方案
2014/03/09 职场文书
旅游与环境专业求职信
2014/06/05 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
幼师小班个人总结
2015/02/12 职场文书
中秋节慰问信
2015/02/15 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
世界名著读书笔记
2015/06/25 职场文书
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS