javascript(isArray)エラーについて

キッティング

PowerShellによりAzureADにログインする際、javascript(isArray)エラーの発生した場合、解決策を紹介します。

javascript(isArray)エラーの発生可能な原因

ユーザーのサインインに Internet Explorer の WebBrowser というコンポーネントが利用されており、かつ、”互換モード” と呼ばれるモードで動作していることに起因している可能性がございます。

Internet Explorer の “互換モード” ?

Internet Explorer の “互換モード” は、Internet Explorer 7 もしくは 5 相当で html や CSS、JavaScript を解釈しようとします。

エラーの発生の推測

エラーの発生しておりますisArrayにつきましては “互換モード” では対応していないためにエラーが発生しているものと推測しております。

エラー解決策

本レジストリ値を設定することにより、”互換モード” ではなく Internet Explorer 11 既定のモードで動作するようになり、事象が改善する可能性がございます。

キー : HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
名前 : PowerShell.exe
種類 : REG_DWORD
値 : 11000 もしくは 11001 (いずれも 10 進数)

また、もし上記のレジストリ値では効果がない場合、下記のレジストリ値への登録もお試す。

キー : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
名前 : PowerShell.exe
種類 : REG_DWORD
値 : 11000 もしくは 11001 (いずれも 10 進数)

64 ビット OS 環境の場合は下記もご設定。
キー : HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION
名前 : PowerShell.exe
種類 : REG_DWORD
値 : 11000 もしくは 11001 (いずれも 10 進数)

Array.isArray()

Array.isArray() - JavaScript | MDN
Array.isArray() 静的メソッドは、渡された値が Array かどうかを判断します。

コメント