今天看了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. Win32 API编程——前言

    一丶什么是Win32 API? 微软为了保护操作系统的安全性和稳定性,把系统分为内核层和用户层(内核层的代码只能在当CPU的特权级为R0状态下执行,用户层的代码在CPU特权级为R0和R3都能执行),w ...

  2. 剑指offer-47:不用加减乘除做加法

    参考:https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html <原码,反码,补码 详解> 题目描述 ...

  3. React每隔0.2s颜色变淡 之生命周期 ,componentDidMount表示组件已经挂载

    05案例 每隔0.2s颜色变淡 componentDidMount表示组件已经挂载,可以进行DOM操作 import React, { Component } from "react&quo ...

  4. 【SVN搭建】搭建SVN服务

    1.安装 # yum -y install subversion 2.配置 创建仓库 我们这里在/opt下建立一个名为svn的仓库(repository),所有代码都可以放在这个下面,创建成功后在sv ...

  5. 文件系统之parted 分区

    parted分区命令 1.分区表区别 我们 Linux 系统中有两种常见的分区表 MBR 分区表(主引导记录分区表)和 GPT 分区表(GUID 分 区表) MBR 分区表:支持的最大分区是 2TB( ...

  6. 简单使用vue-cli

    上一篇我们简单的看了看vue的基本用法,就是三步,首先就是用<script>标签引入vue的依赖,然后就是写html标签,在标签中用vue指令绑定一些属性,最后就是new Vue(xxx) ...

  7. JS基础语法---Array对象的方法

    Array对象的方法   Array.isArray(对象)---->判断这个对象是不是数组 instanceof关键字 判断对象是不是数组类型:两种方法: //1 instanceof var ...

  8. RabbitMQ Win10安装

    RabbitMQ是消息对列,主要是用于做消息代理.本质上说,它接受来自生产者的信息,并将它们传递给消费者.在两者之间,   它可以根据你给它的路由,缓冲规则有选择地进行传递消息.采用Erlang语言开 ...

  9. 中小后台系统UI框架--EasyUI

    后台开发人员不擅长前端UI界面,而小型软件公司没有专职美工岗位,开发人员只能借助开源UI框架,复用已有组件,完成用户操作界面.EasyUI是基于jQuery的UI插件集合体,可帮助开发者轻松构建网页. ...

  10. 表单生成器(Form Builder)之mongodb表单数据——整理数据

    在上篇笔记中,为车辆信息表.车辆耗损表以及车辆营收表插入了一些数据.之后便是查询了,重点也在查询……按照之前定好的数据结构,如果查询mongodb document的最外层比较简单,但是我们的重点应该 ...