ある URL で利用できる HTML ドキュメントがあるとします。
ほとんどの一般的なケースで、ドキュメントが Web ビューのルート レベルでロードされているかどうかを判断することは一般的に可能ですか?
ここでの「最も一般的なケース」は、iOS または Android アプリケーションの Web ビューです。その中で走っていると判断できれば十分です。この判断プロセスは JavaScript から可能であると予想されます (主に、他のページ コンテンツがこれに役立つとは思えないため)。
Web ビューのルート レベルのみを気にします。つまり、ページが Web ビュー内のフレームに読み込まれる場合、それは別の処理ケースです。
Web ビューによって提供されるヘルプは想定されていません。つまり、これはブラック ボックスの Web ビューです。
これが私がやりたいことのモックです:
<script type="text/javascript">
if (window.contentWindow) {
alert("I'm in an iframe");
} else if (inWebView()) {
alert("I'm in a web view");
} else {
alert("I'm most likely in a web browser");
}
</script>
このチェックは逆にすることができます。コンテナーが Web ビューであるかどうかをテストする代わりに、コンテナーがよく知られている Web ブラウザーであるかどうかをテストできますが、デスクトップを含め、それらすべてをチェックする必要があります。