博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【js基础】之BOM操作
阅读量:6957 次
发布时间:2019-06-27

本文共 1644 字,大约阅读时间需要 5 分钟。

1.知识点

  • navigator (navigator.userAgent)
  • screen (screen.width / screen.heigght)
  • location
  • history (history.back() / history.forward())
//示例https://segmentfault.com/search?q=web#mid=100//整个urllocation.href"https://segmentfault.com/search?q=web#mid=100"//协议location.protocol"https:"//域名location.host"segmentfault.com"//路径location.pathname"/search"//参数location.search"?q=web"//哈希location.hash"#mid=100"

2.检验浏览器的类型

navigator.userAgent

var ua = navigator.userAgent;var isChrome = ua.indexOf('Chrome');console.log(isChrome );

3.解析url

  1. 手动解析
function getQueryStringArgs(url){        url = url == null ? window.location.href : url;        var qs = url.substring(url.lastIndexOf("?") + 1);        var args = {};        var items = qs.length > 0 ? qs.split('&') : [];        var item = null;        var name = null;        var value = null;        for(var i=0; i
  1. 使用正则
function getQueryObject(url) {        url = url == null ? window.location.href : url;        var search = url.substring(url.lastIndexOf("?") + 1);        var obj = {};        var reg = /([^?&=]+)=([^?&=]*)/g;        // [^?&=]+表示:除了?、&、=之外的一到多个字符        // [^?&=]*表示:除了?、&、=之外的0到多个字符(任意多个)        search.replace(reg, function (rs, $1, $2) {            var name = decodeURIComponent($1);            var val = decodeURIComponent($2);            val = String(val);            obj[name] = val;            return rs;        });        return obj;    }    console.log(getQueryObject('https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=12306%E7%81%AB%E8%BD%A6%E7%A5%A8%E7%BD%91%E4%B8%8A%E8%AE%A2%E7%A5%A8%E5%AE%98%E7%BD%91'));    // Object {tn: "monline_3_dg", ie: "utf-8", wd: "12306火车票网上订票官网"}

转载地址:http://rhmil.baihongyu.com/

你可能感兴趣的文章
CentOS7安装iptables防火墙
查看>>
为什么需要大数据安全分析?
查看>>
ASP.NET MVC 5 入门摘要
查看>>
cocos2dx环境配置和打包
查看>>
Area of a Circle
查看>>
Find the capitals
查看>>
HDU 1253-大逃亡(裸-DBFS)
查看>>
如何加入该网站for Linux(绑定域名)
查看>>
HTTP 笔记与总结(2 )HTTP 协议的(请求行的)请求方法 及 (响应行的)状态码...
查看>>
列名 'Discriminator' 无效 解决方案
查看>>
Fedora下rstudio-server安装
查看>>
Oracle sqlldr导入导出txt数据文件详解
查看>>
如何设置secureCRT的鼠标右键为弹出文本操作菜单功能
查看>>
VBS学习日记(一个) 开始了解
查看>>
十五天精通WCF——第九天 高级玩法之自定义Behavior
查看>>
关于mysql archive存储引擎(下面SQL测试待研究)
查看>>
利用Word来发布博客到博客园(onenote类似)
查看>>
友盟分享在appdelegate中的调用语句举例
查看>>
项目优化经验分享(七)敏捷开发
查看>>
Android面HTTP协议发送get要求
查看>>