できればJavaScriptを使用して、ページ内でVista IE7保護モードを検出できるようにしたいと思います。私の考えは、保護モードに違反するアクションを実行して、それを公開することです。目標は、適切なサイト ヘルプ メッセージを IE7 Vista ユーザーに提供することです。
3 に答える
保護されたユーザーとは大きく異なる、何を達成しようとしていますか? ウィンドウのポップアップの問題がいくつか見られましたが、それ以外の場合、クリーンな JavaScript は影響を受けにくい傾向があります。コードのブロックが実行されないことがわかっている場合は、実行を試みた後にドキュメントが期待どおりの状態であるかどうかを確認し、そうでない場合はアラートを出してください。
ActiveX を使用している場合、MS には保護モード API があります: http://msdn.microsoft.com/en-us/library/ms537316.aspx
保護モードはカスタマイズ可能であるため、アクション違反に基づいてそれを検出する信頼できる方法は実際にはありません。また、多くのユーザーは UAC を無効にしているため、バージョンによる検出も機能しません (言うまでもなく、IE 8 で同じ頭痛がする可能性があります。バージョンで想定するのではなく、何かが機能するかどうかを常にテストすることをお勧めします)。
Adobe Flashは、Vista IE7保護モードでは動作が異なる(または期待どおりではない)場合があります。このフィードバックをユーザーに提供することを目的としています。
6t7m4 からの保護モード APIの MSDN ドキュメントを確認し、次のように javascript から ieframe.dll を呼び出すことができるかどうかを確認しました。
var axo = new ActiveXObject("ieframe.dll");
機能にアクセスできますが、IEIsProtectedModeProcess()
セキュリティ上の理由からアクセスできないと思います。