我有一个 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 未定义)...
尝试的事情:
- 代码仅启动一次(使用单个日期/随机字符串触发一次警报)
- 我确定了由于此问题而发生错误的位置,并包裹在 try/catch 中,但是尽管代码显然失败了,但它并没有进入 catch。
- 在不同的IOS版本上试过,除了IOS 7都很好
*CONSTRUCTOR - 不确定这是否被归类为构造函数,但在我看来就是这样。
**不幸的是,我不能公开发布我的代码,因为它是商业项目的一部分并且相当广泛......但是有任何建议或有人有任何类似的问题吗?
谢谢!