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 相关文章推荐
网络之美 JavaScript中Get和Set访问器的实现代码
Sep 19 Javascript
Jquery下:nth-child(an+b)的使用注意
May 28 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
js+css实现select的美化效果
Mar 24 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 Javascript
Javascript封装id、class与元素选择器方法示例
Mar 13 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 Javascript
详解小程序设置缓存并且不覆盖原有数据
Apr 15 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
基于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 array_map()数组函数使用说明
2011/07/12 PHP
初步介绍PHP扩展开发经验分享
2012/09/06 PHP
Yii全局函数用法示例
2017/01/22 PHP
使用SyntaxHighlighter实现HTML高亮显示代码的方法
2010/02/04 Javascript
parseInt parseFloat js字符串转换数字
2010/08/01 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
ES6新特征数字、数组、字符串
2016/10/01 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Python常用正则表达式符号浅析
2014/08/13 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
django如何自己创建一个中间件
2019/07/24 Python
wxPython之wx.DC绘制形状
2019/11/19 Python
Python自动登录QQ的实现示例
2020/08/28 Python
Django celery异步任务实现代码示例
2020/11/26 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
摩顿布朗英国官方网上商店:奢华沐浴、身体和头发护理
2016/10/29 全球购物
日本化妆品植村秀俄罗斯官方网站:Shu Uemura俄罗斯
2020/02/01 全球购物
alice McCALL官网:澳大利亚时尚品牌
2020/11/16 全球购物
住房公积金接收函
2014/01/09 职场文书
简历里的自我评价范文
2014/02/24 职场文书
2014年销售内勤工作总结
2014/12/01 职场文书
2015年秋季新学期寄语
2015/03/25 职场文书
合同纠纷调解书
2015/05/20 职场文书
超市主管竞聘书
2015/09/15 职场文书
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js
Golang Web 框架Iris安装部署
2022/08/14 Python