Então, o problema é que esta página da web envolve primeiro o desenvolvimento do front-end da Web móvel. Prefiro usar a combinação de bootstrap html5+para obter o efeito estético da página. Outras tarefas de front-end são entregues ao JavaScript para resolver (aqui eu uso o código JavaScript nativo completamente e não usa nenhuma estrutura, porque considerando que o telefone celular carrega páginas da Web a uma velocidade lenta e muitas funções não utilizadas na estrutura também carregarão as páginas da Web, que consomem tráfego do usuário).
Depois que todas as funções estavam prontas, o cliente ficou muito satisfeito com o teste e, em seguida, enviei o código ao servidor oficial. No entanto, a outra parte mencionou de repente uma coisa: a página que você fez é realmente muito bonita e tem boa compatibilidade, mas esta página também pode ser acessada usando um navegador no seu computador, para que outros possam visualizar casualmente o código -fonte da página e copiar a página inteira. Pode haver alguma maneira de impedir isso? Então a pergunta vem novamente. Esta é a primeira vez que faço o desenvolvimento secundário do WeChat. Eu nunca encontrei essa demanda. Como posso resolver isso?
Eu não conseguia pensar nisso por um tempo, e mais tarde deixei esse problema de lado e fiz alguns negócios de back -end. Ao fazer uma função de coleta de dados em segundo plano, o código PHP usa o parâmetro $ _server ['http_user_agent']. De repente, pensei que, quando o navegador visitar uma página da web, ele enviará um usuário agente ao servidor, que contém algumas informações básicas sobre o navegador e o sistema operacional do usuário. Como o WeChat tem um navegador embutido, o UserAgent trará um logotipo único relacionado ao WeChat ao navegar nas páginas da Web com o WeChat (afinal, a Tencent é uma empresa tão grande, e o WeChat é um de seus principais produtos)? Basta usar o código para imprimir seu usuário agente para descobrir. O código JavaScript é o seguinte:
A cópia do código é a seguinte:
<script type = "text/javascript">
alerta (Navigator.UserAgent);
</script>
Recebi o resultado como mostrado no meu telefone:
Com certeza, eu realmente vi algo diferente. Eu acredito que amigos inteligentes descobriram. É isso mesmo, é isso: Micromessenger/6.0.0.50_R844973.501. A string por trás da barra é o número de versão do WeChat que estou usando atualmente, e a frente deve ser um logotipo exclusivo do WeChat. Na verdade, inicialmente pensei que era micromessagem e pensei que a tradução chinesa significa "micromessage", mas depois de um olhar mais de perto, descobri que não era. Depois de procurar o dicionário, percebi que a palavra Messenger significa "a pessoa que relata a mensagem, a pessoa que envia a mensagem", então não acho que seja estranho. Diz -se que este logotipo é algo que outros navegadores não terão, então a solução está aqui, consulte o código:
A cópia do código é a seguinte:
<script type = "text/javascript">
// corresponde regularmente ao usuário do navegador. Se não contiver o identificador exclusivo do WeChat, são outros navegadores.
var userAgent = Navigator.UserAgent;
if (userAgent.match (/microMessenger/i)! = 'microMessenger') {
// Esta caixa de aviso bloqueará a página atual e continuará a carregar
Alert ('Este acesso foi proibido: você deve usar o navegador interno do WeChat para acessar esta página!');
// O código a seguir é fechar com força a página atual com JavaScript
var aberto = window.open ('sobre: em branco', '_self');
aberto.pener = null;
aberto.close ();
}
</script>
Este código foi testado no Android, iPhone, iPad e PC. Enquanto a página da web não for aberta dentro do WeChat, a caixa de aviso acima será exibida primeiro. Neste momento, a página atrás está em branco e nada foi carregado. Ao clicar no botão Confirmar da caixa de aviso, as três últimas linhas de código fecharão com força a página atual. Ok, aqui percebeu a intenção original do usuário e isso pode ser feito de maneira simples.
Espere, você pode realmente terminar o trabalho assim? Tem certeza de que não haverá outros problemas? Claro que não. De fato, esse método não fará com que você tenha certeza, porque os usuários forjados, essa restrição ainda pode ser ignorada. Em geral, é proteger -se contra cavalheiros, mas vilões. Todo mundo sabe. Obviamente, se algum amigo tiver uma maneira melhor de resolver esse problema, comente abaixo essa tecnologia está em compartilhar e comunicar -se, haha.