添加微信二维码及微博分享功能

缺陷

目前在从主页点击进入文章页面时,二维码按钮点击后无法正常弹出二维码,出现js报错,刷新页面后问题消失,尚未找到解决方案,期待高手指教。

问题已修复,查看文章

以下正文

这几天写作情绪低落,索性又对博客进行了一些调整,其实我一直喜欢博客这种形式,甚至还创建了同样主题的博客,但对于我这种不太擅长写作的人来说,使用现有主题更合适。

早就想在我的文章底部添加二维码分享和微博分享的功能,但由于技术限制一直没有成功。经过这几天的反复尝试,终于在多次失败后实现了这些功能。也许是因为,我现在可以通过二维码直接分享文章链接到微信或QQ,而微博分享按钮则可以直接将链接分享到微博。

所以我将这些经验分享出来,有需要的朋友可以借鉴。

php

`

`

CSS

`.share a {display: inline-block;color: #666;margin-right: 15px}

.share a:hover {color: #f55}

.share {position: relative;text-align: right;font-size: 25px;}

.icon-wechat:before {content: “\e607”;}

.icon-weibo:before {content: “\e608”;}

#qr {z-index: 10;display: none;position: absolute;background: #fff;right: 10%;top: -290%;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px}

@font-face {

font-weight:400;font-style:normal;font-family:icomoon;src:url(data:application/x-font-ttf;charset=utf-8;base64,…);

}[class*=” icon-“],[class^=icon-] {

text-transform: none;

font-weight: 400;

font-style: normal;

font-variant: normal;

font-family: icomoon;

line-height: 1;

speak: none;

-webkit-font-smoothing: antialiased;

-moz-osx-font-smoothing: grayscale;

}`

CSS自适应

`@media(max-width:880px){

#qr {z-index: 10;display: none;position: absolute;background: #fff;right: 22%;top: -290%;border-radius: 5px;-webkit-border-radius: 5px;-moz-border-radius: 5px}

}`

JS

`$(function(a) {

a(“body”).on(“click”,

function(b) {

var c = a(b.target).attr(“class”) || “”,

d = a(b.target).attr(“rel”) || “”;

if (c || d) switch (!0) {

case - 1 != c.indexOf(“icon-wechat”) : a(“.icon-wechat”).hasClass(“tg”) ? a(“#qr”).toggle() : (a(“.icon-wechat”).addClass(“tg”), a(“#qr”).qrcode({

width: 128,

height: 128,

text: location.href

}).toggle());

}

});

});`

JS补充

通过邮件评论链接直接访问过来的网址会带评论后缀,如果此时扫描二维码会直接链接到评论位置,因此需要提取文章网址而不是地址栏网址,所以对部分代码进行了修改。

`text: location.href //这里需修改

text: $(“link[rel=canonical]”).attr(“href”)`

JS调用

``