Maison > Article > interface Web > Javascript restreint les pages Web pour qu'elles soient accessibles uniquement dans les astuces de navigateur_javascript intégrées à WeChat
Ensuite, la question se pose. Cette page Web implique d'abord le développement front-end du Web mobile, j'ai donné la priorité à l'utilisation de la combinaison bootstrap HTML5 pour obtenir le bel effet de la page. Les autres tâches front-end sont résolues par JavaScript (ici, je). utiliser complètement JavaScript natif) Le code n'utilise aucun framework, car étant donné que la vitesse de chargement des pages Web sur les téléphones mobiles est intrinsèquement lente et que de nombreuses fonctions inutilisées dans le framework seront également chargées avec la page Web, consommant du trafic utilisateur).
Une fois que toutes les fonctions étaient en place et que le client était très satisfait de l'essai, j'ai soumis le code au serveur officiel. Cependant, l'autre partie a soudainement mentionné quelque chose : la page que vous avez créée est en effet très belle et a une bonne compatibilité, mais cette page est également accessible à l'aide d'un navigateur sur votre ordinateur, afin que les autres puissent facilement visualiser le code source de la page, et. puis copiez la page entière. Existe-t-il un moyen d'empêcher cela ? Ensuite, la question revient. C'est la première fois que je fais du développement secondaire pour WeChat. Je n'ai jamais rencontré une telle demande. Comment puis-je le faire ?
Je n'y ai pas pensé pendant un moment, alors j'ai mis ce problème de côté pour le moment et j'ai fait quelques affaires backend. Lors de l'exécution d'une fonction de collecte de données en arrière-plan, le paramètre $_SERVER['HTTP_USER_AGENT'] était utilisé dans le code PHP. Il m'est soudain venu à l'esprit que lorsque le navigateur accède à la page Web, il enverra un UserAgent au serveur, ce qui contient des informations de base sur le navigateur et l'utilisateur. Étant donné que WeChat dispose d'un navigateur intégré, le UserAgent aura-t-il un logo unique lié à WeChat lors de la navigation sur le Web avec WeChat (après tout, Tencent est une si grande entreprise et WeChat est leur principal produit) ? Utilisez simplement le code pour imprimer son UserAgent pour le savoir. Le code javascript est le suivant :
J'ai obtenu le résultat comme indiqué sur la photo sur mon téléphone portable :
J'ai vraiment vu quelque chose de différent cette fois. Je pense que des amis intelligents l'ont également découvert. Oui, c'est cette chose : MicroMessenger/6.0.0.50_r844973.501. La chaîne après la barre oblique est moi. Le numéro de version de WeChat actuellement. en cours d'utilisation doit être précédé d'un logo unique de WeChat. En fait, j'ai d'abord pensé qu'il s'agissait de MicroMessage, pensant que la traduction chinoise signifiait « micro-message », mais après y avoir regardé de plus près, j'ai découvert que ce n'était pas le cas. Plus tard, j'ai vérifié le dictionnaire et j'ai découvert que c'était le mot. Messenger signifie « messager, messager ». Cela ne semble plus étrange. Ce logo ne devrait pas être trouvé dans les autres navigateurs, voici donc la solution, veuillez consulter le code :
Ce code a été testé sur Android, iPhone, iPad et PC. Tant que la page Web n'est pas ouverte dans WeChat, la boîte d'avertissement ci-dessus apparaîtra en premier. À ce stade, la page suivante est vide et rien. sinon Il n'est pas chargé. Après avoir cliqué sur le bouton OK dans la boîte d'avertissement, les trois dernières lignes de code fermeront de force la page en cours. OK, maintenant que l’intention initiale de l’utilisateur a été réalisée, nous pouvons simplement mettre un terme à cette journée.
Attendez, pouvons-nous vraiment mettre un terme à cette journée ? Es-tu sûr qu'il n'y aura pas d'autres problèmes ? Bien sûr que non. En fait, cette méthode ne vous permettra pas de vous détendre, car les UserAgents contrefaits peuvent toujours contourner cette restriction. De manière générale, vous pouvez vous prémunir contre les gentlemen mais pas contre les méchants. Bien sûr, si un ami a une meilleure façon de résoudre ce problème, faites-le-moi savoir dans les commentaires ci-dessous. La technologie réside dans le partage et la communication mutuels, haha.