探寻<a>中的href和onclick

一、知识点:

  1. onclick的方法参数必须加引号
  2. href跳转参数有长度限制
  3. href中执行js会把encodeURIComponent()编码之后的东西自动解码,有时会影响参数传递
  4. a标签中的onclick先执行,其次是href属性下的动作(页面跳转或Js伪链接);
  5. 如果在href中调用一个有返回值的函数,则当前页面会被该返回值内容代替;
  6. 如果想让href中的动作不执行,onclick需要返回一个false;
  7. void是一个操作符,javascript:void (expression)表示计算表达式但是不返回值,页面不会发生任何变化;
  8. 尽量不要使用javascript:伪链接作为href的属性,这样不仅会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放;
  9. 如果仅仅想让鼠标hover的时候变成手型,可以这样<span style="cursor:pointer;" onclick="click();">Click Me!</span>
  10. 最安全的用法,且不会将点击方法暴露在浏览器状态栏中:<a href="####" onclick="click();return false;">Click Me!</a>

二、PS

  1. window.onbeforeunload:事件在即将离开当前页面(刷新或关闭)时触发。该事件可用于弹出对话框,提示用户是继续浏览页面还是离开当前页面。对话框默认的提示信息根据不同的浏览器有所不同,标准的信息类似 "确定要离开此页吗?"。该信息不能删除。
  2. a标签的href默认是get请求,get请求在不同浏览器中的参数长度限制不同(post方式传送数据理论上没有最大限制,取决于服务器设置和内存大小):

    在IE8 下的URL地址总长度为:4076,超过该长度会自动忽略后面的内容;

    在firefox 25下的URL地址总长度可以达到:7530,超过该长度会访问错误;

    在chrome 29.0.1547.62 的最大总长度达到:7675,超过该长度会访问错误;

posted @ 2016-12-13 10:26  惟吾德馨‘  阅读(394)  评论(0编辑  收藏  举报