5 votes

Fermer/réinitialiser un ou plusieurs onglets de Chrome sans lancer Chrome

Je me suis retrouvé dans une situation particulière avec Chrome sur mon Samsung Note 2 fonctionnant sous Android 4.4.2. Je me suis amusé avec JavaScript et j'ai apparemment créé un mauvais code. Je le sais car PhpStorm a affiché un avertissement indiquant que le code était susceptible de provoquer une exception. Pourtant, j'ai essayé de voir cette page sur mon smartphone. (J'ai besoin du smartphone parce que je joue avec le logiciel navigator.vibration fonction.) Chrome s'est planté.

Maintenant, lorsque je lance Chrome, il essaie de rouvrir tous les onglets, le dernier étant celui qui contient la page erronée (hébergé chez un hébergeur). Apparemment, Chrome essaie d'ouvrir la page en cache. Cela rend l'ensemble du smartphone pratiquement insensible, les icônes des applications disparaissant parfois du bureau. Je peux relancer le système d'exploitation en fermant Chrome dans le gestionnaire d'applications (en appuyant longuement sur la touche d'accueil).

J'ai déjà corrigé la page en ligne, elle fonctionne bien dans un navigateur de bureau. Et plus aucun avertissement dans PhpStorm. Mais Android Chrome est sans espoir. Le redémarrage du téléphone n'aide pas.

Je me demande si je peux réinitialiser Chrome ou simplement fermer tous les onglets sans exécuter Chrome lui-même. Il serait également formidable de comprendre ce qui a pu l'amener à cet état étonnant.

Le code problématique dans la page était

while (true) {
    navigator.vibrate([500, 500]);
} 

Je voulais créer une boucle infinie (tant que l'onglet était ouvert).

3voto

Ed Talmadge Points 135

Au cas où aucune meilleure réponse ne serait donnée, j'ai trouvé par hasard une solution de contournement. Un autre programme (Play Store) a décidé d'ouvrir une page web. Comme Chrome était le navigateur par défaut, il a lancé Chrome avec un nouvel onglet . Cela signifie que le dernier onglet ouvert (qui était celui qui posait problème) n'a pas été rendu actif et que Chrome n'a donc pas essayé de l'afficher. J'ai ensuite pu fermer cet onglet comme d'habitude, puis l'ouvrir à nouveau. Cette fois, Chrome a téléchargé le contenu depuis le Web et, comme j'ai corrigé la situation, le problème a été résolu.

0 votes

TEXNIC- votre solution de contournement a parfaitement fonctionné. la porte dérobée simple est parfois l'option la plus facile, alors merci !

2voto

aidan Points 21

Vous devez le définir sur false car toute boucle infinie en javascript fera planter le navigateur. La raison pour laquelle il ne plante pas sur le bureau est probablement parce qu'il intègre la fonction. Désolé si ma compréhension est mauvaise, je ne suis pas très bon en javascript.

0 votes

En fait, je sais maintenant que je devrais utiliser setInterval .

2voto

Njinx Points 143

Vous pouvez essayer de tuer Chrome, puis de vider le cache dans l'application Paramètres.

0 votes

Génial, cela semble être ce que je cherchais ! Je vous remercie !

0 votes

@texnic Heureux d'avoir pu vous aider.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X