MTAppjQuery をご利用いただきありがとうございます。
このたび、Google Chrome および Microsoft Edge が進めているブラウザ仕様の変更(unload イベントの段階的廃止)に伴い、MTAppjQuery の一部バージョンでアセットフィールドの画像アップロードに不具合が発生することを確認いたしました。該当する不具合と対処方法についてお知らせいたします。
発生する症状
アセットフィールド(multifield 内の画像フィールドを含む)で画像をアップロードまたは選択し「挿入」しても、選択した画像が編集画面のフィールドに反映されないことがあります。
ブラウザの開発者ツールのコンソールには、次のようなエラーが表示されます。
[Violation] Permissions policy violation: unload is not allowed in this document.
この症状は、お使いのブラウザの設定や環境によって発生する場合と発生しない場合があり、現時点では Microsoft Edge の一部環境などで確認されています。
原因
これまでのアセットフィールドは、画像を選択して画面を閉じる際の「unload イベント」を利用して、選択した画像の情報を編集画面へ受け渡していました。
Google Chrome・Microsoft Edge は、この unload イベントを段階的に廃止する方針を進めており、unload が無効化された環境では情報の受け渡しが行われず、結果として画像がフィールドに反映されません。
なお、アップロードしたファイル自体は Movable Type のサーバーに登録され、アセット管理画面には残ります。データが壊れることはありませんのでご安心ください。
影響を受けるバージョン
- v3.0.0 〜 v3.6.4 のすべてのバージョンが影響を受けます。
- v3.6.5 で解消済みです。
対処方法
unload イベントに依存しない方式へ変更した v3.6.5 以降の最新版 へのアップデートで解消します。
アセットフィールドや multifield をご利用で、v3.6.4 以前のバージョンをお使いの場合は、v3.6.5 以降の最新版へのアップデートをご検討ください。
Movable Type クラウド版をご利用の場合は、プラグインファイルの差し替え後に Movable Type の再起動が必要です。
コンソールエラーについての補足
コンソールに表示される unload 関連のエラーには、発生元が2種類あります。
- MTAppjQuery 由来のもの … 今回の不具合の原因です。v3.6.5 以降で解消されます。
- Movable Type 本体に同梱されている jQuery 由来のもの … MTAppjQuery のバージョンとは関係なく、アップデート後も表示が残る場合があります。こちらは画像アップロードの動作には影響しません。
そのため、v3.6.5 以降の最新版にアップデートいただくと画像アップロードの不具合は解消されますが、jQuery 由来の unload に関する警告自体はブラウザや Movable Type 本体の都合で残ることがあります。
お問い合わせ
ご不明な点がございましたら、お問い合わせフォームよりお問い合わせください。
今後とも MTAppjQuery をよろしくお願いいたします。