web-dev-qa-db-fra.com

Masquer la barre d'adresse d'un navigateur

Je dois cacher la barre d'adresse d'un navigateur. J'utilise ce code: 

var winFeature =
        'location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes';
window.open('Result.html','null',winFeature);  

Dans de nombreuses solutions, seul l'attribut location=no peut masquer la barre d'adresse (dans IE et dans Chrome). Cependant, cela n'a pas fonctionné pour moi (même dans IE et Chrome).

Enfin, j'ai trouvé un article MSDN qui décrit comment location=no simplement masque les boutons de navigation Précédent/Suivant/Arrêter et rend la barre d'adresse en lecture seule}.

Existe-t-il une solution pour masquer la barre d'adresse entière en ignorant l'article MSDN ci-dessus? Je teste dans IE et Google Chrome.

39
Surendra Jnawali

Quelle est la vérité? 

La documentation de Microsoft décrivant le comportement de leur navigateur est correcte.

Existe-t-il une solution pour masquer la barre d'adresse?

Si vous pouviez le cacher, vous pourriez utiliser HTML/CSS pour créer quelque chose qui ressemblerait à une barre d'adresse commune. Vous pouvez ensuite y mettre une adresse différente. Vous pouvez ensuite amener les gens à penser qu'ils se trouvent sur un autre site et à entrer leur mot de passe.

Il est impossible de leur cacher l'emplacement de l'utilisateur car il est essentiel pour la sécurité qu'il sache en quoi consiste cet emplacement.

57
Quentin

Ce n'est plus possible dans les navigateurs modernes en raison de restrictions de sécurité.

Sources officielles (-ish):

  • Firefox

    Dans Firefox 3, dom.disable_window_open_feature.location est désormais défini par défaut sur true, forçant la présence de la barre d'adresse un peu comme dans IE7. Voir le bogue 337344 pour plus d'informations.

  • Internet Explorer 7 et versions ultérieures

    Dans Internet Explorer 6, emplacement spécifie s'il faut afficher la barre d'adresse. 

    (Impliquer le comportement se termine par IE6)

  • Chrome/Chrome

    Les paramètres de masquage de la barre d’outils sont ignorés dans Chrome . Vous remarquerez également que les navigateurs modernes tendent à ne pas le cacher en tant que mesures de sécurité/anti-hameçonnage . Voir aussi https://bugzilla.mozilla.org/show_bug.cgi?id=337344

30
Pekka 웃

Vous recherchez la même chose, la seule chose que je puisse faire est 

Lancer Google Chrome en mode application

Chrome.exe --app="<address>"

De l'invite à courir. Exemple:

Chrome.exe --app="http://www.google.com"

Masquer la barre d'adresse dans Mozilla Firefox

Tapez about:config dans la barre d'adresse, recherchez:

dom.disable_window_open_feature.location

Et réglez-le sur false

Ainsi, lorsque vous ouvrez une fenêtre contextuelle, celle-ci s’ouvrira avec la barre d’adresse masquée. Par exemple:

window.open("http://www.google.com",'','postwindow');

 Firefox without location bar

 Chrome in app mode

Maintenant, je cherche à faire quelque chose de similaire avec Microsoft Edge, je n'ai encore rien trouvé pour ce navigateur.

9
GTRONICK

C'est différent dans chaque navigateur.

Il y a quelques années, ce que vous avez essayé était juste. Mais de nos jours, il est considéré comme un risque de sécurité que de ne pas voir la barre d’adresse du navigateur et (pour des raisons d’hameçonnage), c’est pourquoi ils (ou la plupart d’entre eux) ont décidé de toujours afficher la barre d’adresse du navigateur. Ce qui est bon à mes yeux.

7
yunzen

Ce n'est pas possible de cacher la barre d'adresse du navigateur.

2
user3040206

Vous ne pourrez peut-être pas CACHER, mais si vous recherchez de l'espace supplémentaire, ce que j'ai fait et semble fonctionner est très simple, la barre d'adresse a une hauteur de 60px, c'est donc ma solution.

@media only screen and (max-width: 1024px){ // only from ipads down
  body{
    padding-bottom: 60px; // Push your whole site same height upwards. ;)
  }
}
1
T04435

Il n'y a pas de moyen précis de le faire. JS peut disposer de l'API, mais le fournisseur du navigateur peut choisir de ne pas l'implémenter ou de l'implémenter d'une autre manière.

Aussi, pour autant que je m'en souvienne, Opera fournit même les préférences de l'utilisateur pour empêcher JS de procéder à de tels changements, tels que le déplacement de la fenêtre, le changement du contenu de la barre d'état, etc.

1
Joseph

Vous pouvez faire défiler la page Web jusqu'à une position où vous ne pouvez pas voir la barre d'adresse, et si l'utilisateur fait défiler, la page doit revenir à la position que vous avez définie . De cette manière, les navigateurs mobiles, lorsqu'ils seront déroulés, essaieront pour vous garantir une expérience en plein écran. Donc, il va cacher la barre d'adresse. Je ne connais pas le code, quelqu'un d'autre pourrait le mettre en place.

0
brvnbld