location.origin不兼容IE8解决方案

最近项目中遇到一个问题,在ajax跟后台交互时需要传一个全路径url。项目上线后,在谷歌,火狐,360等浏览器访问一切正常。但唯独IE8下出现问题,提示url:undefined !

这就尴尬了!!!原来是location.origin不兼容IE8!!!

万恶的兼容性问题, 最终解决方案如下:

1 var baseUrl;
2 if (typeof location.origin === ‘undefined‘)
3 {
4     baseUrl = location.protocol + ‘//‘ + location.host;
5 }
6 else
7 {
8     baseUrl = window.location.origin;
9 }

浏览器的location对象拥有很多方便的属性用于获取当前URL的组成部分:

  • location.protocol:协议名
  • location.username:用户名
  • location.password:密码
  • location.hostname:主机名
  • location.port:端口号
  • location.host:主机名和端口号
  • location.pathname:路径
  • location.search:查询串
  • location.hash:书签名

在较新(未测试,估计是支持跨域XHR之后的)浏览器中,还有

  • location.origin:协议名、主机名和端口号

可以使用。

时间: 2024-10-26 15:09:39

location.origin不兼容IE8解决方案的相关文章

location.origin兼容IE

if (window["context"] == undefined) { if (!window.location.origin) { window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: ''); } window["context&

window.location.origin兼容问题

if (!window.location.origin) { window.location.origin = window.location.protocol + "//" + window.location.hostname + (window.location.port ? ':' + window.location.port: ''); }

【转】让Bootstrap 3兼容IE8浏览器

FROM : http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 最近在研究Bootstrap(官方,Github)这个优秀的前端框架,Bootstrap最开始是Twitter团队内部的一个前端框架,所谓前端框架就是一个CSS/HTML框架,框架里面有下拉菜单.按钮组.按钮下拉菜单.导航.导航条.面包屑.分页.排版.缩略图.警告对话框.进度条.媒体对象等.Bootstrap他们预先定义好,等要进行正式制作网页的时候,

让Bootstrap 3兼容IE8浏览器

http://www.ijophy.com/2014/05/bootstrap3-compatible-with-ie8.html 看到这篇文章有越来越多的人看,我决定给大家节省时间,废话少说.有几个点大家要注意. 1.本地调试需要Web Server(如IIS.Apache,Nginx),单纯地本地打开文件不能看到兼容效果. 2.如果你发现已经引用了respond.js和Bootstrap,仍无效果,请查看你的Bootstrap是否使用了CDN文件.(详情看第4点) 3.本文主要针对Boots

js window.showModalDialog不兼容goole解决方案

window.showModalDialog不兼容goole解决方案 一.弹框方案: 1.window.open; 2.window.showModalDialog; 3.div制作窗口:(本节忽略) 二.参数: 1.window.open参数解释: /* *常用参数:   1.page.html' 弹出窗口的文件名:    2.newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替:      3.hight=100 窗口高度:      4.width=400 窗口宽度:

Bootstrap 3兼容IE8浏览器(转)

Bootstrap是一个响应式的布局,你可以在宽屏电脑.普通电脑,平板电脑,手机上都得到非常优秀的布局体验.这种响应式的布局正是通过CSS3的媒体查询(Media Query)功能实现的,根据不同的分辨率来匹配不同的样式.IE8浏览器并不支持这一优秀的Css3特性,Bootstrap在开发文档中写了如何使用进行兼容IE8.但是笔者多次尝试没有成功,IE8的布局是乱的.直到今天忍无可忍,决定再尝试一下,最终获得成功.有些细节没有注意到,导致IE8没法响应式布局. 下面讲解下如何让Bootstrap

【Bootstrap】一个兼容IE8、谷歌等主流浏览器的受众巨幕式风格页面

虽然说IE6除了部分要求苛刻的需求以外已经被可以不考虑了,但是WIN7自带的浏览器IE8还是需要支持的. 本文这个方法主要的优点,个人觉得就是准备少,不需要上网寻找大量的图片做素材,你只要准备好一个bootstrap.jquery与photoshop就可以了,bootstrap与jquery怎么配置,可以参考<[Bootstrap]一个在当前网页弹出的对话框,可以关闭,不用跳转,非弹窗>(点击打开链接) 被要求编写一个网站,常常会被如何布局困扰, 其实也不难,如果能够熟练使用Bootstrap

Nginx 兼容IE8

前言 前段时间由于业务需要,在服务器上新增一个服务专门接收各个门店的业务结算数据,接口文档指明需要使用https协议.这本不是什么问题,因为之前服务器已经有配置过https.但等到服务部署之后才发现这些客户端死活连接不上.一直提示"Error connecting with SSL"的错误.服务器明明已经配置好了,而且其它服务使用https协议通信都正常,为什么偏偏这些客户端连接不上呢? 故障排解 windows软件使用https协议访问服务器时无法成功连接,通过wireshark发现

兼容ie8的多选下拉选择框

说下写这个东东的原因:最近要写一个兼容ie8的项目,我一出来工作就是数据驱动的框架了.所以对不支持vue的ie8.真的是脑壳疼. 最后考察了一番,决定使用 layui这个官网宣城兼容人类正在使用的全部浏览器(IE6/7除外)的Ui 刚开始用着,好像也是挺香的,相对于其他兼容ie8的ui,各方面都好很多. 慢慢的,蛋疼的时候来了,就是layui的多选下拉对ie8不支持. 接着,就开始百度各种多选下拉插件(还是懒啊,啥都想用现成的),耗费大量精力测试修改,都不尽人意,好多都是标题单,宣称支持ie8,