说下浏览器的的资源地址的形成
首先举个例子拿https://www.baidu.com/ 来举例;
http://这个是Http协议,
www指的是服务器的地址,
baidu.com指的是域名,
(www.baidu.com指的是网站名称,)
/指的是根目录,
https://www.baidu.com/这个是URl,统一资源定位符,全球性地址;
以上即使网站域名组成结构
平常我们输入网站名称就能定位到这个网站中去,是因为浏览器会自动给你加上http://协议,并通过你域名下的根目录找到你要打开的文件;
用户代理:
浏览器识别用户代理方法(又名浏览器嗅探)
一些网站可以通过判断UA(用户代理)来给不同的操作系统,(每个浏览器都会有自己的特定用户代理(ua)字符串)不同的浏览器发送不同的页面,
如何分辨浏览器
var ua = window.navigator.userAgent; alert(ua);//打印出Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36 //这是是我的计算机ua标识;
可以通过上述方法来找到用户代理,
但是Ua并不是一成不变,
下面以谷歌为例子;
可以通过User-Agent Switch插件来修改Ua
通过插件修改过后 我的alert为(ua)
Mozilla/5.0 (X11; Linux x86_64; rv:65.0) Gecko/20100101 Firefox/65.0;
使用window。navigator。userAgent可能会被浏览器所欺骗,执行欺骗的代码;
虽然用户代理来检测不靠谱,但是可以通过一下方法来识别各种浏览器之间的差异。
对象/功能检测;
function test() { if ( document.getElementById &&//判断浏览器是否支持js的基层语法 document.getElementById("id") && //同样是检测浏览器是否可以通过基层语法来获得值 document.getElementById("id").style//判断浏览器是否支持通过.style来修改属性;) { //如果结果为true将执行一下代码 document.getElementById("id").style.visibility = "hidden"; }; }
document.getElementById是js中获取标签的一种方法,通过浏览器对这种基层代码兼容性问题来解决是否支持以下方式,是一种比较靠谱的方法。
上述总结,是最近对这方面知识有些接触所以就保存下来与大家分享。
如有言误,麻烦指正。
原文:https://www.cnblogs.com/Tmode/p/10942014.html