本文共 1249 字,大约阅读时间需要 4 分钟。
百度分享,加网分享等网页分享代码,分享的时候会分享整个页面,微信分享到朋友圈的按钮也是直接分享整个页面,在手机上看的时候非常不舒服,所以就给大家分享一个如何微信二维码分享网页到朋友圈只分享正文的方法
以下用百度分享做例子。 百度分享网站:http://share.baidu.com/ 先点击获取代码,然后复制到网站的相应位置,就会出现按钮之后在要分享的文章页,或者模板中添加js代码
1 2 3 4 5 6 | <script> var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i)== "micromessenger" ) { location.href= 'http://www.ccidcom.com/include/article_weixin.php?url=/html/yunyingshang/201402/14-215117.html' ; } </script> |
Navigator 是HTML DOM中的内置对象,它包含有关浏览器的信息。userAgent是Navigator 的属性方法,可返回由客户机发送服务器的 user-agent 头部的值。作用其实就是返回当前用户所使用的是什么浏览器,toLowerCase() 楼上的说了,是将获得的信息变成小写的。
micromessenger是浏览器识别是否为微信的,如果是微信,则内容变成指定url,然后新建一个php文件,去处理要显示的内容即可。
比如我新建的article_weixin.php文件中处理
1 2 3 4 5 | $url = $_GET [ 'url' ]; $content = file_get_contents ( 'http://www.ccidcom.com' . $url ); $pattern = "/<div class=\"left_one\">(.*)网\)\】<\/div>/s" ; preg_match_all( $pattern , $content , $Acontent ); echo $Acontent [0][0]; |
获取到指定页面的所有内容,然后正则匹配正文部分,然后在微信分享到朋友圈的时候,就会显示处理以后的内容了。
在输出这个内容之前,建议加一个
1 2 | < meta http-equiv = "Content-Type" content = "text/html;charset=utf-8" /> < meta name = "viewport" content = "width=device-width,initial-scale=1" /> |
意思是最大匹配手机的屏幕,这样就不会有宽度的问题了。