2

すべてのデスクトップ ブラウザーとモバイル デバイスで正常に動作する 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 など全体で使用しているパブリック プロパティ/メソッドが定義されていないため、コードで参照エラーがスローされます...

試したこと:

  • コードは 1 回だけ開始されます (単一の日付/ランダムな文字列でアラートが 1 回発生します)
  • この問題が原因でエラーが発生した場所を特定し、try/catch をラップしましたが、コードは明らかに失敗していますが、catch には入っていません。
  • さまざまな IOS バージョンで試してみましたが、IOS 7 以外はすべて問題ありません

*コンストラクター - これがコンストラクターとして分類されているかどうかはわかりませんが、それは私には思えます。

**残念ながら、商用プロジェクトの一部であり、非常に広範囲であるため、コードを公開することはできません..しかし、提案や誰かに同様の問題がありましたか?

ありがとう!

4

1 に答える 1