viewport-fit報告が間違っています
2639 ワード
iOS 10にエラーが発生しました.
iPhone Xは、その「劉海児」とボトムHome Indicatorに対してH 5ページの適合に対して、特別な属性サポートを提供しています.metaタグのviewport属性値にview-fitを追加し、constant(safe-ara-inset-X)とenv(safe-are a-inset-X)を追加します.これらの属性はiOS 11以上の全iPhoneに適用されます. iOS 11.0以下のシステムについて: H 5ページmetaタグの下のviewport-fitおよびconstant(safe-ara-inset-X)/env(safe-are a-inset-X)属性は識別されません.針はiOS 11.0以上のシステムに対して: viewport-fit=coverを設置すると、H 5ページはページの安全エリアのフルスクリーンで展示されますが、ページ要素は「劉海児」とボトムHome Indicatorによって遮蔽されますので、アップルはcssにconstant(safe-ara-inset-X)の距離を設けて遮蔽問題を回避します.
ページにはviewport-fit=coverのデフォルトviewport-fit=contain/autが含まれていません.つまり、私たちが見たページが安全エリアをカバーできない場合、コンサートポイントの値はすべて0です.
だから、metaタグのviewpointでは、viewport-fit=cover時iOS 10とiOS 11でのconstant(safe-are a-inset-X)の値の表現が違っています.
解決方法 aut:この値は初期レイアウトビューポートに影響を与えず、ウェブページ全体が閲覧可能である. contain:埋め込まれた最大の長方形を表示するのに適したスケールでビューポートを拡大します. カバー:ビューポートはデバイスの表示を満たすためにスケーリングされます.重要なコンテンツが表示外に出ないようにするために、safe ara inset変数を使用することを強く推奨する.
Viewport argument key "viewport-fit" not recognized and ignored.
理由:iPhone Xは、その「劉海児」とボトムHome Indicatorに対してH 5ページの適合に対して、特別な属性サポートを提供しています.metaタグのviewport属性値にview-fitを追加し、constant(safe-ara-inset-X)とenv(safe-are a-inset-X)を追加します.これらの属性はiOS 11以上の全iPhoneに適用されます.
ページにはviewport-fit=coverのデフォルトviewport-fit=contain/autが含まれていません.つまり、私たちが見たページが安全エリアをカバーできない場合、コンサートポイントの値はすべて0です.
だから、metaタグのviewpointでは、viewport-fit=cover時iOS 10とiOS 11でのconstant(safe-are a-inset-X)の値の表現が違っています.
解決方法
(function () {
var viewportTag = null;
var metaTags = document.getElementsByTagName('meta');
for (var i = 0; i < metaTags.length; i++) {
if (metaTags[i].getAttribute('name') === "viewport") {
viewportTag = metaTags[i];
break;
}
}
if (!viewportTag) {
viewportTag = document.createElement("meta");
viewportTag.setAttribute('name', 'viewport');
}
var viewportTagContent = 'width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0';
// Detect if iOS device
if (/(iPhone|iPod|iPad)/i.test(window.navigator.userAgent)) {
// Get iOS major version
var iosVersion = parseInt((window.navigator.userAgent).match(/OS (\d+)_(\d+)_?(\d+)? like Mac OS X/i)[1]);
// Detect if device is running >iOS 11
// iOS 11's UIWebView and WKWebView changes the viewport behaviour to render viewport without the status bar. Need to override with "viewport-fit: cover" to include the status bar.
if (iosVersion >= 11) {
viewportTagContent += ', viewport-fit=cover';
}
}
// Update viewport tag attribute
viewportTag.setAttribute('content', viewportTagContent);
})()
viewport-fitとは何ですか?viewport-fit
は、制御文書がどのように画面を満たしているかを示すものである.viewport-fit
には三つの属性値があります.viewport-fit: auto;
viewport-fit: contain;
viewport-fit: cover;