window.location属性用法及解决一个window.location.search为什么为空的问题
通常用window.location该属性获取页面 URL 地址:
1、什么是window.location?
比如URL:http://b.a.com:88/index.php?name=kang&when=2011#first
window.location和document.location互相等价的,可以交换使用
location的8个属性都是可读写的,但是只有href与hash的写才有意义。
例如:改变location.href会重新定位到一个URL,而修改location.hash会跳到当前页面中的anchor(<a id="name">或者<div id="id">等)名字的标记(如果有),而且页面不会被重新加载
注意:URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first
search:"?name=kang&how=" 第一个"?"之后
hash:"#when=2011#first" 第一个"#"之后的内容
2,为什么 window.location.search 为空?
注意上面的search和hash的区别,如果URL中 ?之前有一个 # 比如:“http://localhost:63342/index.html#/version?type=35&id=5”,那么使用window.location.search得到的就是空(“”)。因为“?type=35&id=5”串字符是属于“#/version?type=35&id=5”这个串字符的,也就是说查询字符串search只能在取到“?”后面和“#”之前的内容,如果“#”之前没有“?”search取值为空。
3、JS 脚本捕获页面 GET 方式请求的参数?
其实直接使用 window.location.search 获得,然后通过 split 方法结合循环遍历自由组织数据格式。大概处理如下:
var searchURL = window.location.search;
searchURL = searchURL.substring(1, searchURL.length);
var targetPageId = searchURL.split("&")[0].split("=")[1];
相关文章
- SpriteBuilder中不能编辑自定义类或不能给节点添加属性的解决
- 这里我们可以看到:Person是个多层次对象,包含多层嵌入属性对象(multi-layer embeded objects)。如果需要更改Person类型实例中的任何字段时,我们可以直接用行令方式(imperative style):
- css3新增属性有哪些?css3中常用的新增属性总结
- 数据存储之属性列表Plist
- JavaWeb 同时给 cookie 设置过期时间Expires 和 Samesite 属性
- android 属性动画
- Scala抽象属性的继承
- HTML 按钮(button)的 disable 属性和 disable property
- Angular form控件原生HTML代码里ng-reflect-form属性和其值的生成时机
- ML之回归预测之Lasso:利用Lasso算法对对红酒品质wine数据集解决回归(实数值评分预测)问题—优化模型【增加新(组合)属性】
- EL之RF(随机性的Bagging+DTR):利用随机选择属性的bagging方法解决回归(对多变量的数据集+实数值评分预测)问题
- JavaBean的Scope属性
- 在springboot中,如何读取配置文件中的属性
- vue - vant组件库 - card组件 修改 thumb属性的图片 参数后不及时刷新解决
- 原生android webview 显示的H5页面颜色属性无法识别 - 具体解决心得
- 【Linux 内核】CPU 分类与状态 ( CPU 处理器分类 | 根据物理属性分类 SMT、MC、SoC | Linux 内核中 CPU 分类 | Linux 内核源码中的 CPU 状态源码 )
- C#界面里的winform AutoValidate和CausesValidation属性
- (五)带属性值的ng-app指令,实现自己定义模块的自己主动载入