今天看了1下前面写的,好像缺乏交流性,周末再来弄吧 -0-

今天看了browser 的 location 和 history

location属性
 //    //location.hash 性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)
// console.log(location.host); //获得location的端口
// //或www.xxx.com止 //[[设置或返回]]当前 URL 的主机名称和端口号
//
// console.log(location.hostname); //返回服务域名
// //www.xxx.com:80 //[[设置或返回]]当前 URL 的主机名
//
// console.log(location.href); //返回该页面的url
// //www.xxx.com: //[[设置或返回]]当前显示的文档的完整 URL
// //location.href = 'baidu.com'; 调用改变当前url
//
// console.log(location.port); //端口:后的内容
// //"8080" //[[设置或返回]]或返回当前 URL 的端口部分
//
// console.log(location.protocol); //http://[[设置或返回]]当前 URL 的协议
//
// console.log(location.search); //?后的内容
// //有待研究吧,没效果 //[[设置或返回]]当前 URL 的查询部分(问号 ? 之后的部分)
// //我猜这个功能可能可以了解用户的网内轨迹
//
// //decodeURIComponent() 对编码后的 URI 进行解码:
// //就1个转码函数,转的码的作用有待研究

Location方法
 //    //location.assign()
// window.location = "www.baidu.com" 直接改变当前url //效果一样
// location.href = "www.baidu.com";
// location.assign('www.baidu.com');
//
// //location.replace
// //不会在 History 对象中生成一个新的记录。当使用该方法时,新的 URL 将覆盖 History 对象中的当前记录
// setTimeout(function(){
// console.log(1);
// location.replace("baidu.com")//p209 阻止用户返回上1页面
// },1000)
//
// //str.replace必须两个参数,这里的 replace 是 location 的方法
// var str = "abcdefghijklnm";
// console.log(str.replace("abcd",''));
//
// //location.reload() //这个方法会一直load,慎用
// location.reload(); //重新加载,有可能是从缓存中加载
// location.reload(true); //重新加载,从服务器重新加载
//
// setTimeout(function(){
// location.reload();
// //并且reload()调用之后的代码可能也不会执行,网络原因系统资源等因素,
// //最好放在最后一行
// return false; //没效果
// },5000)
// 个人认为这个真没必要用,reload()是会把整个文档从新加载
//
// 若需要部分组件定时更新数据,用ajax就好
// 这是写的简单定时更新数据

//history
 //    history.go(-1);             //后退
// history.go(1); //前进1页
// history.go(2); //前进2页
//
// history.go("baidu.con"); //跳转到最近的baidu.com页面 //history.back(); //后退一页;
//history.forward(); //前进一页;
//hiseory.length; //下标0开始第1页

简单理由封装

参考:http://blog.csdn.net/sunxinty/article/details/52586556
作者:SunxHome

     function Router(){
this.routes = {};
this.currentUrl = '';
};
Router.prototype.route = function(path,callback){
this.routes[path] = callback || function(){};
};
Router.prototype.refresh = function(){
this.currentUrl = location.hash.slice() || '/';
this.routes[this.currentUrl]();
};
Router.prototype.init = function(){
window.addEventListener('load',this.refresh.bind(this),false);
window.addEventListener('hashchange',this.refresh.bind(this),false)
}; window.Router = new Router();
window.router.init();
 

[browser location和history] 简单实现了个路由[转载]的更多相关文章

  1. match,location,history

    哇,平常写路由时基本就是简单的按照组件给的示例写,从来没有考虑为什么,又遇见了路由相关的问题,先记录一下问题,好好捋一下,哎,好香要个大佬来带带我呀,每次遇到问题要解决好久 问题: 判断是否登录之后跳 ...

  2. location 、history

    location.href= location.reload() history.go()  0   1  -1 history.back() history.forward() history.le ...

  3. location和history

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. (cljs/run-at (JSVM. :browser) "命名空间就这么简单")

    前言  一个cljs文件定义一个命名空间,通过命名空间可以有效组织代码,这是构建大型系统必备的基础设施.本篇我们就深入理解cljs中的命名空间吧! 好习惯从"头"开始 每个cljs ...

  5. JS---BOM基本知识 (顶级对象,系统对话框,加载事件,location对象, history对象, navigator对象)

    BOM JavaScript分三个部分: 1. ECMAScript标准---基本语法 2. DOM--->Document Object Model 文档对象模型,操作页面元素的 3. BOM ...

  6. BOM 3.1 location对象 | history对象 | navigator对象 | 定时器 | 三大系列

    JavaScript分三个部分: 1. ECMAScript标准---基本语法 2. DOM--->Document Object Model 文档对象模型,操作页面元素的 3. BOM---& ...

  7. Location 位置 history

    拆分出来地址  让地址各归其位 search案例 查找历史记录跳转

  8. 学习记录----简单的原生js路由

    在以前的web程序中,路由字眼只出现在后台中.但是随着SPA单页面程序的发展,便出现了前端路由一说.单页面顾名思义就是一个网站只有一个html页面,但是点击不同的导航显示不同的内容,对应的url也会发 ...

  9. 分享php中四种webservice实现的简单架构方法及实例[转载]

    [转载]http://www.itokit.com/2012/0417/73615.html 本人所了解的webservice有以下几种:PHP本身的SOAP,开源的NUSOAP,商业版的PHPRPC ...

随机推荐

  1. C# List集合 GroupBy分组

    var grpBalance = listBalance.GroupBy(m => new { m.MerChantId, m.Name}).Distinct().Select(t => ...

  2. GIS面试小知识点

    1.什么是地理信息系统?简述其基本功能 它是随着地理科学.计算机技术.遥感技术和信息科学的发展而产生的一门科学.就应用而言,是对空间数据进行  组织.管理.分析.显示  的系统.其实本质上它探讨的就是 ...

  3. Springboot 错误处理机制

    SpringBoot默认的错误处理机制 即我们常见的白色的ErrorPage页面 浏览器发送的请求头: 如果是其他的请求方式,比如客户端,则相应一个json数据: 原理:是通过 ErrorMvcAut ...

  4. 如何判断一个变量是否为数组(isArray)

    在我们平时的工作中经常会用到如何判断一个变量是否为数组.常用的方法很多,有用常用框架里面的,isArray.但是关于这个isArray的实现,各有不同. 常用的方法有如下几种 1.instanceof ...

  5. IT兄弟连 HTML5教程 “无意义”的HTML元素div和span

    HTML只是赋予内容的手段,大部分HTML标签都有其意义(例如,标签a创建链接,标签h1创建标题等),然而div和span标签似乎没有任何内容上的意义,听起来就像一个泡沫做成的锤子一样无用.但实际上, ...

  6. 【THUPC 2018】赛艇

    Problem Description Lavender.Caryophyllus.Jasmine.Dianthus现在在玩一款名叫"赛艇"的游戏. 这个游戏的规则是这样的: 玩家 ...

  7. C#线程学习笔记一:线程基础

    本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/18/Thread.html,记录一下学习过程以备后续查用. 一.线程的介绍 进程(Proce ...

  8. C# -- Quartz.Net入门案例

    1. 入门案例 using Quartz;using Quartz.Impl; public class PrintTime : IJob { public Task Execute(IJobExec ...

  9. Socket的常用方法。

    构造方法: 1.使用构造方法 public ServerSocket(int port) 和public ServerSocket(int port,int backlog) 创建ServerSock ...

  10. js中关于带数字类型参数传参丢失首位数字0问题

    最近在项目中遇到一个问题,js中传带有数字的参数时,如果参数开头有数字0,会把0给去掉. 例如: 方法abc(0123456,789); 方法abc中获取的参数0123456就会变为123456. 原 ...