6

J'aimerais pouvoir détecter Vista IE7 Protected Mode dans une page en utilisant javascript, de préférence. Ma pensée est d'effectuer une action qui violerait le mode protégé, l'exposant ainsi. L'objectif est de fournir une messagerie d'aide de site appropriée aux utilisateurs de IE7 Vista.Détection du mode protégé de Vista IE7 avec Javascript

Répondre

3

Qu'est-ce que vous essayez d'accomplir qui est sensiblement différent pour les utilisateurs protégés? J'ai vu quelques problèmes de fenêtres, mais sinon, le JavaScript propre a tendance à être moins affecté. Si vous constatez qu'un bloc de code ne s'exécute pas, pourquoi ne pas effectuer une vérification après une tentative d'exécution pour voir si le document correspond à l'état auquel vous vous attendez et alerter si ce n'est pas le cas.

Si c'est à l'aide d'ActiveX, MS a une API mode protégé: http://msdn.microsoft.com/en-us/library/ms537316.aspx

mode protégé est personnalisable, de sorte que vous n'avez pas vraiment un moyen fiable de la détecter sur la base violation d'action. Et beaucoup d'utilisateurs désactivent UAC, donc la détection via la version ne fonctionnera pas non plus (pour ne pas mentionner vous pouvez avoir le même mal de tête avec IE 8. Toujours mieux tester si quelque chose a fonctionné au lieu de supposer par version.)

0

Adobe Flash may se comporte différemment (ou pas comme prévu) dans le mode protégé Vista IE7. L'intention est de fournir cette rétroaction à l'utilisateur.

+0

Si j'avais Flash qui ne fonctionnait pas en mode protégé, j'essayerais de réparer mon utilisation de Flash pour contourner ce problème. Beaucoup d'utilisateurs ne comprendront pas le problème si vous l'expliquez, et ceux qui le font peuvent ne pas vouloir désactiver le mode protégé. (sauf si, bien sûr, vous disposez d'une solution de contournement sûre ...) –

0

J'ai examiné la documentation MSDN du Protected Mode API de 6t7m4, et si je pouvais appeler le ieframe.dll de javascript, tels que:

var axo = new ActiveXObject("ieframe.dll"); 

je serais en mesure d'accéder à la fonction IEIsProtectedModeProcess(), mais je crois c'est inaccessible pour des raisons de sécurité.

+0

Vous devez inclure ces mises à jour en tant que modifications à votre question d'origine. – recursive

+0

Non, vous ne pouvez pas simplement appeler des fonctions de code natif arbitraires à partir de JavaScript, pour des raisons évidentes. – EricLaw

Questions connexes