首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >怪异Javascript IOS 7期

怪异Javascript IOS 7期
EN

Stack Overflow用户
提问于 2013-10-21 15:11:56
回答 1查看 170关注 0票数 2

我有一个web应用程序,它在所有桌面浏览器和移动设备上运行良好,但是自从IOS 7之后,我遇到了一个奇怪的问题。

示例:

我正在设置一个对象,如

代码语言:javascript
复制
(function(){
  //CONSTRUCTOR*
  sampleObject= new function(){
    alert("loaded constructor "+ new Date().getTime()); //only outputted once 
    //swfobject dom load event
  }


...//functions and propeties related to sampleObject

})();

//ASSIGNING THE OBJECT
sampleObject = new sampleObject();
alert("finished assigning object "+ new Date().getTime()); //only outputted once 

发行:

在ios 7上,它似乎随机地丢失了什么是sampleObject,而是返回到带有构造函数*的代码片段中。例如,我一直在对对象调用公共方法(如sampleObject.getResource(“a”))进行调试;

痕迹回来了就像:

代码语言:javascript
复制
sampleObject = [Object] //Correct
sampleObject = [Object]

然后随机地这样做:

代码语言:javascript
复制
sampleObject = function(){
        //swfobject dom load event
      }

它基本上是构造函数内部的代码。

这将导致我的代码抛出引用错误,因为我在整个过程中使用的公共属性/方法(如getResource )没有定义.

尝试过的事物:

  • 代码只启动一次(使用单个日期/随机字符串触发一次警报)
  • 但是,我发现了由于这个问题而发生错误的地方,尽管代码显然失败了,但是没有进入捕获。
  • 在不同的IOS版本上试过,除了IOS 7,一切都很好。

*构造函数--不确定这是否被归类为构造函数,但在我看来是这样的。

**不幸的是,我不能公开发布我的代码,因为它是商业项目的一部分,而且非常广泛.但是,有任何建议或有人有类似的问题吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-23 15:15:00

感谢以上的评论。给我指明了正确的方向。

问题似乎是IOS 7似乎随机地失去了javascript对象的范围,而且由于我们没有将sampleObject专门分配给窗口,所以它不是一直都在工作。

因此,解决我的问题的办法就是简单地改变:

//分配对象sampleObject =新的sampleObject();

//分配对象window.sampleObject =新的sampleObject();

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

https://stackoverflow.com/questions/19498262

复制
相关文章

相似问题

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