0

Web ページで Android と iOS プラットフォームの両方にモバイル デバイスの「シェイク」イベントを実装したいと考えています。

それで、アレックス・ギブソンが書いた唯一無二のスクリプトをすぐに見つけました。

いくつかのテストの後、Android フォンで完全に動作することがわかりました。iPhoneでは残念ながら使えません。

MDN web docsによると、devicemotionイベントを使用するスクリプトに問題はありません。

コードオープンのこのスクリプトは、iOS ではエラーがなく、機能していません。

この問題を克服する方法はありますか?

UPD

イベントの iOS 13 の要件を説明しているこの記事を見つけdevicemotionたので、許可をリクエストする必要があります。

しかし、それも機能しません。

window.DeviceMotionEvent.requestPermission()
  .then(response => {
    console.log(response);
  }
})

とにかく、許可要求なしで「拒否」ステータスを返します。

4

1 に答える 1

2

私もこの問題に遭遇しました。devicemotion イベントの requestPermission は、iOS 13 以降によって (サイレントに) 常に拒否されますが、サイトを http で実行している場合に限ります。

httpsでサイトを実行した場合、(少なくとも私にとっては)機能しました。

于 2020-04-29T15:35:05.070 に答える