概述

今天被自己鄙视了,竟然不会用window.location.search进行页面传值。现在好好总结下window.location API,记录一下供以后开发时参考,相信对其它人也有用。

页面传值

在浏览器窗口的url后面加入?和一串数字或者#和一串数字再看确认,一般情况下当前页面并不会发生变化。所以?和#都可以用来页面传值。

window.location.search能够返回url里面?后面的数据(包含?),页面传值和ajax经常用这个

window.location.hash能够返回url里面#后面的数据(包含#),锚点和路由经常用这个

页面跳转

其实window.location返回一个只读的Location对象,但是你仍然可以对它进行赋值,赋值其实是赋到href属性上面了。

//页面跳转,前三种效果一样,第四种不会把之前的页面保存在history里面
window.location.assign("http://www.mozilla.org")
window.location = "http://www.mozilla.org";
window.location.href = "http://www.mozilla.org";
window.location.replace("http://www.mozilla.org"); //页面刷新,下面二种效果一样
window.location.reload(true);
window.location.reload();

属性

window.location返回的Location对象有很多属性

window.location.href //包含整个URL的字符串
window.location.protocol //整个URL的协议
window.location.host //整个URL的域名
window.location.port //整个URL的端口号
window.location.origin //包含页面来源的域名
window.location.search //包含URL参数的字符串
window.location.hash //包含块标识符的字符串

document.location

document.location与window.location的异同点:

  1. 无框架(frame),那么是相同的。
  2. 有框架(frame),那么是不同的,框架里面的document.location肯定和外面的window.location不一样啊。

所以可以用window.location和top.location来防止别人用frame引用你的网站

<script>
top.location !== self.location || (top.location = self.location);
</script>

window.location API的更多相关文章

  1. document.URL vs window.location.href All In One

    document.URL vs window.location.href All In One document.URL 与 window.location.href 两者有啥区别 document. ...

  2. JS中 window.location 与window.location.href的区别

    疑惑:window.location='url'  与window.lcoation.href='url'效果一样,都会跳转到新页面,区别在哪?查得的资料如下: 1:window.location是页 ...

  3. Dynamics CRM2013 Form利用window.location.reload()进行全局刷新带来的问题及解决办法

    CRM2013以后,表单的保存后变成了局部刷新而非全局刷新,但很多情况下我们需要刷新整个页面,通过刷新页面来使脚本执行或者业务规则执行来实现某些业务效果,一般我们会使用window.location. ...

  4. One difference between AngularJS' $location and window.location

    Recenently, I encountered a problem. Client side code is: $http({ url: "/api/runtimelicense&quo ...

  5. window.location.origin

    当前页面的域名+端口号 var HTTP_REMOTE = (function () { var origin = window.location.origin; if (origin.match(/ ...

  6. Dynamics CRM2013 Form利用window.location.reload()进行全局刷新带来的问题及解决的方法

    CRM2013以后.表单的保存后变成了局部刷新而非全局刷新,但非常多情况下我们须要刷新整个页面.通过刷新页面来使脚本运行或者业务规则运行来实现某些业务效果,一般我们会使用window.location ...

  7. window.location.hash(hash应用)---跳转到hash值制定的具体页面

    location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url.而location. ...

  8. js location API All In One

    js location API All In One location "use strict"; /** * * @author xgqfrms * @license MIT * ...

  9. js 刷新页面window.location.reload();

    Javascript刷新页面的几种方法:1    history.go(0)2    window.location.reload() window.location.reload(true) 3   ...

随机推荐

  1. python学习 day14 (3月19日)----

    04 json # 1. 用于多种语言 交互 编程语言通用数据 # 内置的 不需要安装直接导入使用 import json # 导入 # # dumps loads dump load # dic = ...

  2. Visual Studio 2015部署OpenCV

    Visual Studio 2015的安装破解及OpenCV的安装和部署 平台:win10 X64+VS2015专业版 X64:vs2015.pro_chs+OpenCV 3.X:opencv-3.4 ...

  3. markdown中自己偶尔需要的小技巧

    慢慢积累,需要时搜索,并记录与此. 1.写文章时,由于markdown不负责首行缩进,所以“空格”需要特殊的方法去实现,最简单方便的是--输入全角空格(切换全角输入,点空格) 2.markdown中注 ...

  4. NCBI News

    NCBI淘汰序列GI - 使用Accession.Version代替! 截至2016年9月,被称为“GI”的整数序列标识符将不再包括在NCBI支持的序列记录的GenBank,GenPept和FASTA ...

  5. oracle compile 编译无效对象

    原博主:http://blog.csdn.net/tianlesoftware/article/details/4843600 Applies to: Oracle Server - Enterpri ...

  6. springboot+websocket示例

    1.新建maven工程 工程结构如下: 完整的pom.xml如下: <?xml version="1.0" encoding="UTF-8"?> & ...

  7. c# devexpress学习绘图

    用字典方式存储数据并绘图:http://www.xuebuyuan.com/465384.html 数据库存储数据,并对图形作各种设置:http://www.cnblogs.com/xuhaibiao ...

  8. 以太坊虚拟机(EVM)

    转载链接:https://ethfans.org/posts/solidity-chapter1-introduciton-to-smart-contracts 概括总览: 以太坊虚拟机(EVM)是以 ...

  9. Node简单的控制台读取和文件操作

    const fs = require('fs'); const readline = require('readline'); const rl = readline.createInterface( ...

  10. attachEvent方法绑定事件

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