2015-06-17
国内におけるWindows Phone発売に伴うモビファイサービスの対応について

国内におけるWindows Phone発売に伴うモビファイサービスの対応について
6月18日より販売が開始されるWindows Phoneに関しまして、モビファイサービスの対応状況を以下の通りお知らせいたします。
モビファイサービスの対応状況
モビファイサービスでは、昨年6月のリリースの通り、Windows Phone OSに対応することが可能となっておりますが、モビファイサービスを利用したスマートフォンサイトの構築時の要件として、Windows Phoneを含めていない場合においては、Windows Phoneで最適化するための動作確認を行なっておりませんので、構築方法によっては表示の崩れ、文字化け等の表示不具合が起こる可能性がございます。
モビファイの仕組みは、端末が持つユーザーエージェントを判別して最適化の実行を行いますが、Windows Phone 8.1 Update以降のユーザーエージェントには、Android/iPhone OSが含まれているため、Windows Phoneにおいても最適化が実行される可能性があります。
このため、今後国内におけるWindows Phoneユーザーが増えることを鑑みて、モビファイサービスをご利用しているサイトのデベロッパー様におかれましては、必要に応じてWindows PhoneからのアクセスについてはMobifyによる最適化の対象外とするなどのご対応をお願いいたします。
※参照:Windows Phone 8.1 Updateのユーザーエージェント Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; MAKERNAME; DEVICENAME xxx) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537
文字化け、表示崩れの原因
Windows Phoneに含まれるブラウザにおいて、文字コードの解釈方法がAndroid/iPhone OSのブラウザの解釈方法と違うため文字化けや表示崩れが発生する。
対処方法: Mobify.jsによる構築を行なっている場合
mobify.konfに以下の記述を追加してください。
'content': function(context) {
return context.choose(
{
'templateName': 'Fallthrough',
'!url': function() {
var ua = navigator.userAgent;
if(/windows\sphone/i.test(ua)){
return true;
}
}
},
...
'OUTPUTHTML': function(context) {
var templateName = context.data('content.templateName');
if (templateName&&templateName!='Fallthrough') {
return context.tmpl(templateName);
}
}
Adaptive.jsによる構築を行なっている場合
router.jsに以下の記述を追加してください。
function($, Router, Home) {
var router = new Router();
var ua = navigator.userAgent;
router
.add(function() {return /windows\sphone/i.test(navigator.userAgent);}, Router.Ignore)
.add(Router.selectorMatch('.main'), Home)
対処方法による適用
Windows Phoneからのアクセスに対し、モビファイサービスが適用されないための対処となります。 上記対処方法によってWindows Phoneからのアクセスには、PCサイトが表示されるようになります。
当社のサポートについて
現在、ドーモではWindows Phoneにおける最適化の保証(サポート)は行っておりません。 あしからずご了承くださいますようお願い申し上げます。