Aras Support Bulletin 2026
Hotfix-19748 および Hotfix-21261
ブラウザ互換性対応: unloadイベントの廃止およびXSLT更新
Aras Innovator Release 30 ~ Release 39
対応が必要です
ご利用中のAras Innovatorリリースに対応するHotfixを適用してください。
両Hotfixは、Google ChromeおよびMicrosoft Edgeにおけるブラウザの unload イベント廃止に起因する問題を解決するとともに、更新版のクライアントサイドXSLT対応を提供します。
適用が必要なHotfixは、ご利用中のリリースによって異なります。
| Innovatorリリース | 適用するHotfix | 提供状況 |
|---|---|---|
| Release 30, 31, 32 | Hotfix 19748 | 提供中(2026年7月30日リリース) |
| Release 33 ~ 39 | Hotfix 21261 | 提供中(2026年8月13日リリース) |
両Hotfixには、Hotfix 12141で提供されたクライアントサイドXSLT修正が含まれています。また、Polyfillはより新しいバージョンに更新されています。
すでにHotfix 12141を適用済みの場合は、本Hotfixを上書きして適用いただけます。
Hotfix 12141を適用していない場合は、本Hotfixのみ適用すれば問題ありません。
概要
Google ChromeおよびMicrosoft Edgeでは、ブラウザの unload イベントが廃止されつつあります。
クライアントサイドXSLTの廃止とは異なり、この変更には単一の切替日がありません。
Googleは、ユーザーのChrome利用状況全体に対して段階的に unload を無効化しています。
そのため、Aras Innovatorを利用するユーザーは、他サイトの閲覧状況も含めたブラウザ利用状況に応じて、徐々に影響を受けるようになります。
この展開は2026年3月に1%から開始され、2026年9月22日に100%へ到達する予定です。
詳細はChromeの廃止通知を参照してください。
Aras Innovatorへの影響はリリースごとに異なります。
Release 30~32
これらのリリースでは複数個所で unload に依存しているため、無効化されると以下のような問題が発生します。
- ユーザー設定が保持されない
- リレーショングリッド上の保存済み検索が失われる
- Form Event の onUnload ハンドラが実行されない
- 閉じたタブを再度開いて編集した際にエラーダイアログが表示される
Release 33~39
Aras InnovatorではRelease 33にて主要な unload 依存はすでに削除されています。
ただし、Release 39までは一つの依存関係が残っています。
ユーザーが実装した Form Event の onUnload ハンドラの起動処理です。
この処理はネイティブブラウザの unload イベントに接続されたままであるため、ブラウザ側で unload が無効化されると実行されなくなります。
そのため、Release 33~39においては、onUnload Form Eventを利用していない環境では影響を受けません。
Chromeによる unload 無効化の展開は、エンドユーザーのページロード数を基準として管理されるため、
- 問題が常時発生するとは限らない
- 同じAras環境を利用するユーザー同士でも影響タイミングが異なる
という特徴があります。
一方で、Hotfix 12141で最初に提供されたWebAssemblyベースのXSLT Polyfillについても、上流の不具合修正を取り込むため更新されています。
今回のHotfixには、
- unload対応
- 更新版XSLT Polyfill
が1つのパッケージとして含まれています。
提供される修正内容
両Hotfixとも、リリースごとに1つのパッケージとして提供されます。
Hotfix 19748(Release 30~32)
含まれる内容:
- unloadイベントに起因するすべての問題の修正
- クライアントサイドXSLT対応一式
- Hotfix 12141より新しいWebAssembly Polyfillを含む
Hotfix 21261(Release 33~39)
含まれる内容:
- Classic FormにおけるonUnload Form Eventの呼び出し方法を変更し、ブラウザ標準の unload イベントへの依存を解消
- クライアントサイドXSLT対応一式
- Hotfix 12141より新しいWebAssembly Polyfillを含む
Horfix適用方法
-
- Aras Updateをダウンロードします(バージョン1.25以上が必要)。
- Aras Updateを起動し、「Online Updates」タブを開きます。
- 認証情報でログインすると、対象のInnovatorインスタンスに対して利用可能なHotfix一覧が表示されます。お使いのリリースに応じて、Hotfix 19748またはHotfix 21261が表示されるはずです。
- 最初にステージング環境へ適用し、利用ケースに対する検証を行ったうえで本番環境へ展開してください。
- 支援が必要な場合は、Aras Subscriber PortalからAras Supportへお問い合わせください。
カスタムコードの確認が必要です
本Hotfixでは、以下2つの観点でカスタムコードの確認を推奨します。
- unloadイベントを利用しているカスタムコード
- クライアントサイドXSLTを利用しているカスタムコード
すでにHotfix 12141導入時にXSLTレビューを完了している場合は、unload関連のみ確認してください。
unloadイベントを利用するカスタムコード
カスタムの .js、.ts、.html、.htm ファイル、および Methodアイテム内で以下を確認してください。
- onUnload Form Event に設定されたMethod
- 独自コード内の
onunloadまたはdocument.onunload addEventListener('unload', ...)- ページ終了時にブラウザイベントが発火することを前提としたクリーンアップ処理や保存処理
両Hotfixでは、onUnload Form Eventハンドラの接続方法を、
document.onunload から pagehide listener へ変更しています。
既存のハンドラコードは引き続き呼び出されるため、通常は書き換え不要です。
ただし、以下の2点を確認してください。
- ハンドラ内でネイティブの UnloadEvent 固有プロパティを参照している場合は修正してください。イベント引数は PageTransitionEvent に変更されています。
- 独自実装として unload に直接接続しているコードはHotfixでは対応されません。pagehide または visibilitychange への移行を推奨します。推奨される代替方法については、Chromeの廃止通知を参照してください。
カスタムHTMLページ、JavaScriptファイル、統合処理において、ブラウザ標準の XSLTProcessor API を使用している箇所を確認してください。
確認対象の例:
- XSLTProcessor
- transformNode
- importStylesheet
- transformToDocument
- transformToFragment
iframe内で実行されるカスタムHTMLページがあり、
- Arasクラスを読み込んでいない
- XSLTProcessorを直接使用している
場合、Polyfillの恩恵を自動的には受けられません。
その場合は以下のいずれかを実施してください。
xsltPolyfillを読み込むスクリプト参照を追加する- iframe内でAras名前空間(例: XmlDocument)を読み込む
そうすることでPolyfillが自動的に利用されます。
ネイティブXSLTとPolyfillの既知の差異
以下の差異により、カスタムコードでRegressionが発生する可能性があります。
xsl:includeおよびxsl:importは未サポート- スクリプト実行タイミングが異なる場合がある
- 出力要素に XHTML namespace が追加される場合がある
setParameter(nsURI, name, value)は namespace URI を無視し、ローカル名のみで一致判定を行う- ドキュメントはUTF-8である必要がある
- XML宣言は常に出力から除去される
- これまで動作していたクロスオリジンのスタイルシート参照が、CORSによりブロックされる場合がある
Aras Supportはレビュー方法について支援できますが、カスタムコードの確認および必要な修正はサブスクライバーの責任となります。
リスク軽減策(Risk Mitigation)
ブラウザ側の変更がユーザー環境に適用される前に対象リリース向けのHotfixを適用できない場合、いずれの変更についてもブラウザのエンタープライズポリシーを利用して適用を一時的に延期できます。
ChromeおよびEdgeは、それぞれ従来の動作を一時的に復元するためのポリシーを提供しています。
- unloadイベント向けのポリシー
- クライアントサイドXSLT向けのポリシー
ただし、これらのポリシーはHotfixの代替手段ではありません。両ブラウザベンダーとも、これらのポリシーを将来的に廃止する予定であることを公表しています。
| ブラウザ変更 | エンタープライズポリシー | 利用可能期間 |
|---|---|---|
| unloadイベントの廃止 | ForcePermissionPolicyUnloadDefaultEnabled = Enabled(値: 1) | 終了日は未公表。Googleはエンタープライズ向けオプトアウトを当面サポートする意向を示しています。 |
| クライアントサイドXSLTの廃止 | Chrome: XSLTAllowed Edge: XSLTEnabled |
Chromeでは2027年8月17日まで。MicrosoftはEdge向けポリシーを一時的なものと説明していますが、終了日は公表していません。 |
両ポリシーに共通する事項
- ポリシーは、お客様のIT部門またはクライアント管理部門が、既存のブラウザ管理手段を通じて展開および設定します。
- サイト単位ではなく、デバイス単位で適用されます。Aras Innovatorを利用するすべての端末で設定が必要です。管理対象外の端末(委託先の端末や個人端末など)は引き続き影響を受ける可能性があります。
- ポリシーを適用すると従来の動作が復元され、Innovatorインスタンス側の変更は不要です。
- Edge WebView2では、
Software\Policies\Microsoft\Edge\WebView2以下で unloadポリシーをサポートしています。InnovatorをWebView2ホストへ組み込んでいる場合に関係します。 - 参考資料については、unloadポリシーはChrome EnterpriseおよびMicrosoft Edgeのドキュメント、XSLTポリシーは各ベンダーのエンタープライズポリシー資料を参照してください。
長期的な推奨事項(Long-Term Recommendation)
ChromeおよびEdgeがunloadイベントを廃止する理由は、クリーンアップ処理の仕組みとして信頼性が低く、またブラウザの Back/Forward Cache(BFCache)の利用を妨げるためです。
このイベントは長年にわたり利用が推奨されておらず、今後ブラウザベンダーが再び有効化する可能性は低いと考えられます。
クライアントサイドXSLTの場合と同様に、根本的な対応策は機能を再有効化し続けることではなく、その機能への依存をなくすことです。
Arasでは以下を推奨します。
- unloadに依存するカスタムコードを確認し、
pagehideまたはvisibilitychangeへ移行する - カスタマイズで利用しているクライアントサイドXSLTを、サーバーサイド変換または最新のクライアントサイド描画方式へ置き換える
Arasは、継続的なモダナイゼーションの一環として、これら両方の依存関係をプラットフォームから排除しています。
Hotfixが正しく適用・動作していることを確認するためのテスト例
事前条件(Preconditions)
- 対象リリース向けHotfixが適用されていること。
- テスト端末の1台で
chrome://flags/#deprecate-unload(またはedge://flags/#deprecate-unload)を Enabled に設定すること。これにより、展開率に関係なくそのユーザーで unload廃止の挙動を有効化できます。テスト後は Default に戻してください。 - ChromeのXSLTフラグ(
chrome://flags/#xslt)が無効になっていること。 - ログイン前にブラウザのDeveloper Tools Consoleを開いていること。
テスト手順と期待結果
1. Innovatorへログインする
期待結果
- Innovatorが正常に表示される(メイン画面およびTOCが表示される)
- Consoleに以下のメッセージが表示される
2. ユーザーメニュー → About を開く
期待結果
MS Build Numberに以下の形式でHotfix番号が表示される。
- Release 30~32:
IH-19748.{nn} - Release 33~39:
IH-21261.{nn}
3. (任意)簡単な検索を実行する
手順
- 任意のItemTypeを開く
- グリッドで検索を実行する
期待結果
- 検索結果が正常に表示される
4. FormのonUnloadハンドラが実行されることを確認する
手順
log("unload")を含むMethodを作成する- Part FormのonUnloadイベントに設定する
- 新しいPartを作成して閉じる
期待結果
- Consoleにメッセージが表示される
既にonUnloadハンドラを利用している場合は、その処理を実際にテストし、期待どおり完了することを確認してください。
5. ユーザー設定が保持されることを確認する(Release 30~32)
手順
- Userメニューを開く
- 「Use Wildcard」設定を変更する
- インスタンスを再読み込みする
- 再度Userメニューを開く
期待結果
- 変更した設定が保持されている
ログイン成功に加え、Consoleに期待されるメッセージが表示されれば、XSLT機能がブラウザではなくHotfixによって提供されていることを確認できます。
手順4および5は、unload関連の修正が正しく機能していることを確認するためのものです。
異常時の兆候(Red Flags / Bad Case Indicators)
XSLT部分が正しく動作していない場合
通常、以下のような症状が発生します。
- 画面が真っ白になり、ログイン画面が表示されない
- Consoleに以下のエラーが表示される
- Consoleに以下のエラーが表示される
unload部分が正しく動作していない場合
unload廃止が有効な状態で、通常以下の症状が発生します。
-
FormのonUnloadハンドラが実行されない
Release 33~39ではこれが唯一の症状です。また、この問題はサイレントに発生し、エラーダイアログやConsoleエラーは表示されません。
-
ユーザー設定が再読み込み後に元へ戻る(Release 30~32)
-
Relationship Gridの保存済み検索が失われる(Release 30~32)
-
一度閉じて再度開いたタブ上のアイテムを編集するとエラーダイアログが表示される(Release 30~32)
サポートが必要な場合(Need Help?)
- Aras Subscriber PortalからAras Supportへお問い合わせください。
- Customer Success Manager(CSM)またはパートナー担当者へお問い合わせください。
- ダウンロードおよび関連ドキュメントについてはAras Subscriber Portalを参照してください。