デバイス検出の補強

新規モバイル・デバイスまたはカスタマイズされたデバイスuser-agent識別子の認識は、コントローラ内のデバイス検出コードのカスタマイズによって実現できます。

注:

  • getDeviceInfo関数は、モバイル・デバイスが使用されているかどうかを特定するために、コントローラによってコールされます。このサンプルは、デフォルトのgetDeviceInfoコールをオーバーライドします。

  • isMobileプロパティは、ページのレンダリング時に使用されるレイアウトを決定します。

  • isIOSプロパティは、マップ・コンポーネントでどのプロバイダを使用するかを決定します。

  • 組込みのデフォルトisMobileテストは次のとおりです
    /Mobi|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent) && !/iPad/i.test(userAgent)
  • 組込みのデフォルトisIOSテストは次のとおりです
    /iPad|iPhone|iPod/i.test(userAgent) && !window.MSStream
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1">
<meta name="search-site-verification" content="your verification string">
<script type="text/javascript">
var SCS = { sitePrefix: '/SampleSite/' };
 
 
SCS.getDeviceInfo = function() {
    // Return an object with two Boolean properties, isMobile and isIOS.
    var userAgent = navigator.userAgent;
    return {
        isMobile: /Mobi|iPhone/i.test(userAgent) && !/iPad/i.test(userAgent),
        isIOS: /iPad|iPhone|iPod/i.test(userAgent)
    };
};
</script>
<script src="/SampleSite/_sitesclouddelivery/renderer/controller.js"></script>
</head>
<body id="scsControllerBody"><noscript>Please enable JavaScript to view this site properly.</noscript>
<img id="scsWaitImage" style="display: none; margin-top: 5%; margin-left: auto; margin-right: auto;" src="data:image/png;base64,..." />
</body></html>