2009-09-11 7 views
0

Je développe une application ASP.NET pour un test de quiz en ligne. L'ensemble de questions serait choisi au hasard parmi un ensemble de questions. L'application fonctionne correctement, mais je souhaite masquer l'option de menu du navigateur (de sorte que l'utilisateur ne puisse pas enregistrer ou imprimer le test) lorsque la page du quiz s'affiche. Je ne veux pas ouvrir une nouvelle fenêtre popup. Alors, comment puis-je faire pour la fenêtre active.Comment cacher le menu du navigateur?

L'application se compose d'environ 5 pages Web, et le test est sur les pages 3 et 4. Je veux donc que le menu ne soit caché que sur les pages 3 et 4. Est-ce possible et comment faire? Merci d'avance

Répondre

1

Ceci n'est pas possible. Vous pouvez uniquement masquer la barre de menus dans une fenêtre contextuelle.

Quoi qu'il en soit, l'utilisateur peut toujours cliquer avec le bouton droit de la souris et sélectionner Imprimer ou utiliser un raccourci comme Ctrl + P. Et même si vous pouviez masquer le menu, il pouvait simplement désactiver JavaScript. S'ils veulent vraiment imprimer/sauvegarder le quiz, vous ne les arrêterez pas. Je suggère de trouver une autre solution de contournement.

0

Je ne pense pas qu'il soit possible de faire ce que vous demandez. Et rappelez-vous qu'il existe d'autres façons d'imprimer que d'utiliser le menu du navigateur: Ctrl+P fait généralement cela, il est également possible de "sauver la page" du menu clic-droit ou en utilisant Ctrl+S - et, bien sûr , il y a toujours l'impression écran ;-)


La meilleure « protection » vous pouvez probablement avoir définit une licence correcte (ce qui signifie que vous pourriez avoir besoin d'un avocat, pour obtenir quelque chose de solide), que interdit explicitement la redistribution des questions: de cette façon, vos utilisateurs peuvent réutiliser les questions pour eux - vous ne pouvez pas empêcher cela, de toute façon - - mais ne peut pas les redistribuer.

Bien sûr, cela vaut probablement la peine si vous développez un quizz avec des questions que vous allez vendre.

+0

Ok Merci à tous pour leur aide. :) –

0

Une fois que la page est rendue à l'écran, le contrôle ultime va à l'utilisateur. Il peut désactiver javascript et faire le travail nécessaire ou il peut capturer la page et de nombreuses façons.

Mieux vaut ne pas essayer de le faire.

0

Tant que les données sont dans l'ordinateur de l'utilisateur, il peut y accéder d'une manière ou d'une autre, et je ne suis pas sûr que cela en vaut la peine.

Si vous souhaitez refuser l'impression, vous pouvez essayer d'utiliser certains types de supports CSS spéciaux (par exemple définir certains styles avec display:none ou color:#fff).

http://www.w3schools.com/CSS/css_mediatypes.asp

Mais même comme ce publicain l'utilisateur peut simplement appuyer sur Alt Gr + imp :)

Vous pouvez également intercepter les frappes de touches Ctrl + P, en utilisant un événement onKeyDown sur tout le corps HTML et arrêter le bubling, mais il peut ne pas fonctionner le même navigateur croisé.

Vous pouvez aussi refuser un clic droit sur la page en gestion de l'événement onContextMenu (http://msdn.microsoft.com/en-us/library/ms536914%28VS.85%29.aspx)

En outre, les questions doivent être rendus sous forme d'images, ou de refuser la sélection de texte de la page afin que l'utilisateur ne sera pas en mesure de copier/coller les questions dans un e-mail (http://www.dhtmlcentral.com/forums//archive/index.php/t-18008.html mmight aider)

Questions connexes