我有一个web应用程序,它在所有桌面浏览器和移动设备上运行良好,但是自从IOS 7之后,我遇到了一个奇怪的问题。
示例:
我正在设置一个对象,如
(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”))进行调试;
痕迹回来了就像:
sampleObject = [Object] //Correct
sampleObject = [Object]然后随机地这样做:
sampleObject = function(){
//swfobject dom load event
}它基本上是构造函数内部的代码。
这将导致我的代码抛出引用错误,因为我在整个过程中使用的公共属性/方法(如getResource )没有定义.
尝试过的事物:
*构造函数--不确定这是否被归类为构造函数,但在我看来是这样的。
**不幸的是,我不能公开发布我的代码,因为它是商业项目的一部分,而且非常广泛.但是,有任何建议或有人有类似的问题吗?
谢谢!
发布于 2013-10-23 15:15:00
感谢以上的评论。给我指明了正确的方向。
问题似乎是IOS 7似乎随机地失去了javascript对象的范围,而且由于我们没有将sampleObject专门分配给窗口,所以它不是一直都在工作。
因此,解决我的问题的办法就是简单地改变:
//分配对象sampleObject =新的sampleObject();
至
//分配对象window.sampleObject =新的sampleObject();
https://stackoverflow.com/questions/19498262
复制相似问题