1. 程式人生 > >html頁面限制只能在微信中開啟,並且不可以使用分享及瀏覽器開啟功能

html頁面限制只能在微信中開啟,並且不可以使用分享及瀏覽器開啟功能

由於使用掃一掃來獲取登陸連結,所以不希望網址暴露在瀏覽器,所以要求必須是微信瀏覽。

可以通過請求的標識來判斷是什麼瀏覽器:

            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);

以上就是判斷的瀏覽器型別,有微信,android,ios

if (!isWeixin) {  
	var opened = window.open('wxError.html', '_self');
}
如果判斷不是微信瀏覽器,則跳轉到提示頁面,頁面使用微信原始頁面如下圖

這個頁面(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 由於太長就不在這裡貼了,可以點選下載

禁止分享和瀏覽器開啟等選項禁用

                    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);  
					}  
				}});
這樣就可以了