由于一些网站站长不希望网址暴露在浏览器,所以要求必须是微信浏览。
那么我们可以通过请求的标识来判断是什么浏览器,来进行限制,代码如下:
- <script type="text/javascript">
- var ua = navigator.userAgent.toLowerCase();
- var isWeixin = ua.indexOf('micromessenger') != -1;
- var isAndroid = ua.indexOf('android') != -1;
- var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);
- if (!isWeixin) {
- var opened = window.open('wxError.html', '_self');
- }
- </script>
以上就是判断的浏览器类型,有微信,android,ios
当然也可以直接引用本站的静态地址,引入代码如下:
- <script type="text/javascript" src="https://www.tianfayl.com/static/js/restrictwx.js"></script>
如果判断不是微信浏览器,则跳转到提示页面,页面使用微信原始页面如下图:
wxError.html页面代码如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
- </head>
- <body>
- <script type="text/javascript">
- var ua = navigator.userAgent.toLowerCase();
- var isWeixin = ua.indexOf('micromessenger') != -1;
- var isAndroid = ua.indexOf('android') != -1;
- var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1);
- if (!isWeixin) {
- document.head.innerHTML = '<title>抱歉,出错了</title><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"><link rel="stylesheet" type="text/css" href="weui.css">';
- document.body.innerHTML = '<div class="weui_msg"><div class="weui_icon_area"><i class="weui_icon_info weui_icon_msg"></i></div><div class="weui_text_area"><h4 class="weui_msg_title">请在微信客户端打开链接</h4></div></div>';
- }
- </script>
- </body>
- </html>
weui.css 由于太长就不在这里贴了,可以末下载,并在wxError页面的第14行的
- <link rel="stylesheet" type="text/css" href="weui.css">
修改引入地址,也可以直接在页面引用我的静态地址,引用代码如下:
- <link rel="stylesheet" type="text/css" href="https://www.tianfayl.com/static/css/weui.css">
禁止分享和浏览器打开等选项禁用
代码如下:
这样网页只能在微信客户端内访问的限制就完成了
- <script type="text/javascript">
- var ua = navigator.userAgent.toLowerCase();
- var isWeixin = ua.indexOf('micromessenger') != -1;
- if (!isWeixin) {
- var opened = window.open('wxError.html', '_self');
- }
- $(function(){
- /*禁用微信分享功能 */
- function onBridgeReady() {
- WeixinJSBridge.call('hideOptionMenu');
- }
- if (typeof WeixinJSBridge == "undefined") {
- if (document.addEventListener) {
- document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
- } else if (document.attachEvent) {
- document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
- document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
- }
- } else {
- onBridgeReady();
- }
- if (isWeixin) {
- window.alert = function(name){
- var iframe = document.createElement("IFRAME");
- iframe.style.display="none";
- iframe.setAttribute("src", 'data:text/plain,');
- document.documentElement.appendChild(iframe);
- window.frames[0].window.alert(name);
- iframe.parentNode.removeChild(iframe);
- }
- }
- });
- </script>
发表评论