2018年2月 2日 (金)

SharePoint Online - Document Mode と JavaScript

SharePoint Online で利用しているクラシック UI が近く更新され、ページのドキュメント モードが新たに切り替えられます。

ドキュメントモードはヘッダーに記載するメタデータで指定されています。オンプレミスのSharePoint 2013 や 2016および現在の SharePoint Online のクラシックUIのページには次のように記載されています。IE開発者ツールなどで確認できます。

<meta http-equiv="X-UA-Compatible" content="IE=10"/>

2018-02-02_6-45-42

何のための設定かといえば、Internet Explorer や Edge を対象にブラウザーのバージョンが上がったとしても、Internet Explorer 10 相当の機能だけで動作させることで動作保証しようというものです。SharePoint 2016 も SharePoint Online のクラシックUIももとは SharePoint 2013 がベースになっており、この製品が開発された当時は Internet Explorer 10が最新ブラウザーであり、これをターゲットに動作するように製品が作られていたわけです。

Webブラウザーのバージョンが上がっても動作に問題がないよう、新機能や更新された機能を抑制するための設定です。

しかし、これがかえって足かせとなり、JavaScript の挙動なども制限されていたのも事実です。SharePoint 2013/2016 および Online のクラッシックUIでは、ECMAScript5 でサポートされている機能しか利用できません。ECMAScript6 以降で利用できる letキーワードの利用、テンプレート文字列、定数なども利用できません。多くの組織のWebブラウザーのバージョンが IE 11になっているにもかかわらず、SharePoint では最新技術を使った開発ができず、ある意味、開発効率も制限されていたということになります。

このドキュメントモードが Edge モードに切り替わります。ECMAScript6 以降が利用できるようになると言えます。このアップデートの展開時期は、2018/2/14 (バレンタイン!) から月末までです。もともとこの切り替えの話は昨年末までに行われる予定だと発表はされていたのですが、ずれ込んだようですね。

ちなみに、SharePoint Online のモダンUIページやリスト、ライブラリはすでにモードは Edge になっています。

  2018-02-02_6-59-11

何らかの理由で切り替えたくないという場合は、SharePoint Designer 2013 を使ってマスターページを修正するか、PowerShellで変更することができるとのことです。

コメント