Ensuite, le problème est que cette page Web implique d'abord le développement frontal du Web mobile. Je préfère utiliser la combinaison html5 + bootstrap pour réaliser l'effet esthétique de la page. D'autres tâches frontales sont transmises à JavaScript pour résoudre (ici j'utilise complètement le code JavaScript natif et n'utilise aucun framework, car étant donné que le téléphone mobile charge les pages Web à une vitesse lente, et de nombreuses fonctions inutilisées dans le cadre se chargera également avec les pages Web, qui consomme le trafic utilisateur).
Après que toutes les fonctions étaient prêtes, le client était très satisfait de l'essai, puis j'ai soumis le code au serveur officiel. Cependant, l'autre partie a soudainement mentionné une chose: la page que vous avez faite est en effet assez belle et a une bonne compatibilité, mais cette page est également accessible à l'aide d'un navigateur sur votre ordinateur, afin que d'autres puissent afficher avec désinvolture le code source de la page, puis copier toute la page. Peut-il y avoir un moyen d'empêcher cela? Ensuite, la question revient. C'est la première fois que je fais du développement secondaire WeChat. Je n'ai jamais rencontré une telle demande. Comment puis-je le résoudre?
Je ne pouvais pas y penser pendant un certain temps, et plus tard, j'ai mis ce problème de côté et j'ai fait des affaires backend. Lors d'une fonction de collecte de données en arrière-plan, le code PHP utilise le paramètre $ _Server ['http_user_agent']. J'ai soudainement pensé que lorsque le navigateur visite une page Web, il enverra un userAgent au serveur, qui contient des informations de base sur le navigateur et le système d'exploitation utilisateur. Depuis WeChat a un navigateur intégré, le UserAgent apportera-t-il un logo unique lié à WeChat lors de la navigation sur les pages Web avec WeChat (après tout, Tencent est une si grande entreprise, et WeChat est l'un de leurs produits principaux)? Utilisez simplement le code pour imprimer son userAgent pour le découvrir. Le code JavaScript est le suivant:
La copie de code est la suivante:
<script type = "text / javascript">
alert (Navigator.UserAgent);
</cript>
J'ai obtenu le résultat comme indiqué sur mon téléphone:
Effectivement, j'ai vraiment vu quelque chose de différent. Je crois que des amis intelligents l'ont découvert. C'est vrai, c'est ce truc: Micromessenger / 6.0.0.50_R844973.501. La chaîne derrière la barre oblique est le numéro de version de WeChat que j'utilise actuellement, et l'avant devrait être un logo unique de WeChat. En fait, j'ai d'abord pensé que c'était du micromessage, et je pensais que la traduction chinoise signifie "micromessage", mais après un examen plus approfondi, j'ai trouvé que ce n'était pas le cas. Après avoir recherché le dictionnaire, j'ai réalisé que le mot messager signifie "la personne qui rapporte le message, la personne qui envoie le message", donc je ne pense pas que ce soit étrange. Ce logo doit être considéré comme quelque chose que d'autres navigateurs n'auront pas, donc la solution est là, veuillez consulter le code:
La copie de code est la suivante:
<script type = "text / javascript">
// correspond régulièrement à l'utilisateur du navigateur. S'il ne contient pas l'identifiant unique WeChat, ce sont d'autres navigateurs.
var userAgent = Navigator.UserAgent;
if (userAgent.match (/ micromessenger / i)! = 'Micromessenger') {
// Cette boîte d'avertissement bloquera la page actuelle et continuera de charger
alert («Cet accès a été interdit: vous devez utiliser le navigateur intégré de WeChat pour accéder à cette page!»);
// Le code suivant est de fermer avec force la page actuelle avec JavaScript
var ouvert = window.open ('À propos: blanc', '_self');
Opend.Opener = NULL;
ouvert.close ();
}
</cript>
Ce code a été testé sur Android, iPhone, iPad et PC. Tant que la page Web n'est pas ouverte à l'intérieur de WeChat, la boîte d'avertissement ci-dessus apparaîtra d'abord. À l'heure actuelle, la page derrière est vide et rien n'a été chargé. En cliquant sur le bouton Confirmer de la zone d'avertissement, les trois dernières lignes de code ferment avec force la page actuelle. Ok, ici, il a réalisé l'intention d'origine de l'utilisateur, et cela peut être fait simplement.
Attendez, pouvez-vous vraiment terminer le travail comme ça? Êtes-vous sûr qu'il n'y aura pas d'autres problèmes? Bien sûr que non. En fait, cette méthode ne vous rendra pas assurée, car les utilisateurs forgés, cette restriction peut toujours être contournée. En général, il s'agit de garder des messieurs mais des méchants. Tout le monde le sait. Bien sûr, si un ami a une meilleure façon de résoudre ce problème, veuillez commenter ci-dessous que la technologie réside dans le partage et la communication les uns avec les autres, haha.