2017-08-25 7 views
1

私はUnityのUIとしてUniWebViewを使用しています。 3Dアセットを変更するには、toucheventsを送信する必要があります。 Uniwebviewのメッセージングは​​URL形式で行われるため、文字列でなければなりません。DOM参照を無視してtoucheventをどのように文字列化できますか?

JSON.stringify()とtoucheventを送信しようとすると、{isTrusted: true}のみが送信されます。私は運が無ければthis questionのすべてを通りました。 secondthirdの関数は、同じ結果を返します。isTrustedオブジェクトのみが返されます。

トップの回答で、著者はDOMリファレンスをすべて削除しないように明示していましたが、私の使用例では完全に受け入れられると思います。

どうすればいいですか?

それが自動的にそれをしなかった場合、それは(それがDOM要素(「循環参照」)であったかどうかを検出する)いいだろうが、私はまた、手動で以下のキーフィルタリングと思う:

  • changedTouches [X]を.TARGET
  • は、currentTarget
  • パス[]
  • srcElement
  • ターゲット
  • targetTouches [X] .TARGET
  • タッチ[x]は図

Iを再帰的オブジェクトをループするためのthis questionを発見

  • .TARGETが、コメントは循環参照がオーバーフローを引き起こすことができることを意味します。その上に、私はどのようにオブジェクトを "再構築"するのか分かりません。

    ご協力いただければ幸いです。

  • 答えて

    0

    ないソリューションが、一時的に私はちょうどタッチを取得しています:

    function getTouches(e) { 
        let touches = e.touches; 
        let output = []; 
        for (let i = 0; i < touches.length; i++) { 
         let touch = { 
          clientX: touches[i].clientX, 
          clientY: touches[i].clientY 
         }; 
         output.push(touch); 
        } 
        return output; 
    } 
    
    関連する問題