PHP JS判断ブラウザ、微信ブラウザ
5258 ワード
WeChat内蔵ブラウザのUser Agent
どのように微信内蔵ブラウザを判断するかは、まず微信内蔵ブラウザのUser Agentを取得する必要があり、iPhone上の微信のブラウザの検出を経て、そのUser Agentは以下の通りである.
Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1
そこで、MicroMessengerというキーワードを認識することで、微信に内蔵されているブラウザがあるかどうかを判断します.
js判断
function is_weixin(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
return true;
} else {
return false;
}
}
PHP判定
<?php
$agent = $_SERVER['HTTP_USER_AGENT']
if( strtopos( $agent, 'MicroMessenger') {
echo ' ';
}else if( strpos($userAgent,"iPhone") || strpos($userAgent,"iPad") || strpos($userAgent,"iPod") || strpos($userAgent,"iOS") ) {
echo ' ';
} else if( strpos($userAgent,"Android") ) {
echo 'android ';
}
?>
携帯電話側で微信ブラウザを判断した後、微信の共有jsスクリプトを使って処理することができます.微信の公式ドキュメントを参照してください.ここでは、大まかな流れと考え方を理解するためのケースを提供します.
<script type="text/javascript" src="/jslib/wx_share.js"></script>
<script>
// 、 、 、
var imgUrl = '<?php echo base_url('/images/per.png'); ?>';
var lineLink = 'http://www.baidu.com/';
var shareTitle = ' ';
var descContent = ' , ?';
var timeline_title = 'timeline_title';
var appid = '';
</script>
<script>
function onBridgeReady() {
WeixinJSBridge.call('showOptionMenu');
}
</script>
<script>
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();
}
</script>
</head>