首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Safari6和Mobile Safari (iOS 6)中的所有属性都没有定义window.location

为什么Safari6和Mobile Safari (iOS 6)中的所有属性都没有定义window.location
EN

Stack Overflow用户
提问于 2012-06-26 06:36:02
回答 2查看 4K关注 0票数 9

当我输入的时候

代码语言:javascript
复制
window.location

我在所有属性上都是未定义的。

这是我的控制台:

EN

回答 2

Stack Overflow用户

发布于 2012-10-17 03:44:02

此代码可在Safari (6.0.1)及更早版本中运行

代码语言:javascript
复制
    // Get location for REST TARGETS

    lcnURI = window.location.protocol + "//" + window.location.hostname + ":"
            + window.location.port + "/rest/";

当您在日志中查看时,似乎window.location“脱离了上下文”。但是在原地使用它是很好的。

票数 5
EN

Stack Overflow用户

发布于 2012-09-17 19:23:58

我可以确认这一点(版本6.0 (8536.25))。据我所知,这似乎是Safari的bug。

在jsbin (http://jsbin.com/enugoj/1/)上测试:

代码语言:javascript
复制
console.log(window.location);
console.log(window.location.pathname);​

Safari控制台中的结果:

代码语言:javascript
复制
Location
  ancestorOrigins: undefined
  hash: undefined
  host: undefined
  hostname: undefined
  href: undefined
  origin: undefined
  pathname: undefined
  port: undefined
  protocol: undefined
  search: undefined
  __proto__: LocationPrototype

/enugoj/1

Chrome (版本21.0.1180.89)中的结果:

代码语言:javascript
复制
Location
  ancestorOrigins: DOMStringList
  assign: function () { [native code] }
  hash: ""
  host: "jsbin.com"
  hostname: "jsbin.com"
  href: "http://jsbin.com/enugoj/1"
  origin: "http://jsbin.com"
  pathname: "/enugoj/1"
  port: ""
  protocol: "http:"
  reload: function () { [native code] }
  replace: function () { [native code] }
  search: ""
  toString: function toString() { [native code] }
  valueOf: function valueOf() { [native code] }
  __proto__: Location
  1:14

/enugoj/1 
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11198349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档