对邮件评论提醒进行了两处改进:
1. 设置邮件摘要内容为回复内容
2. 通过邮件内附的链接访问本站会自动填写评论者信息
目前还没发现其他人考虑过这两个问题。
首先,目前在各种邮箱列表视图下,都可以显示发件人、主题、摘要,摘要就是邮件内容的预览,但是我们看到的往往是邮件的前几句话,而前几句话通常是客套的、无实际信息的,比如“你在xxx的评论有了回复”,无论你收到多少个不同的提醒,邮件摘要永远只显示这句话,那还有什么意义?
所以,我设置了邮件摘要为评论回复内容,这样当你收到提醒时,主题里可以看到谁回复的你,摘要直接就是他回复的内容,岂不方便?
我是使用了sendcloud的contentSummary字段添加的摘要内容,你也可以在邮件内容的顶部添加摘要内容,并设置css为不可见。
然后,如果你是个新读者,用电脑在我的博客填写了评论,然后你在手机上收到了我回复你的提醒邮件,你想再次回复我,就要在手机上重新填写一遍你的名字、邮箱、站点,虽然下次就会记住这些信息了,是不是依然很麻烦?
现在,你只要点击邮件里面的“查看详情”链接,你的信息就会自动被填写。比如 “点击这个链接” 就会自动填写名字为name,邮箱为mail@qifu.me,站点为https://qifu.me。
这里用到了hash(也就是url后面的#)传递一些参数,js读取后自动填写,不用“?”的原因是因为浏览器向服务器请求url时,不会携带“#”及其后面的内容,服务器端不会因为收到了额外的参数而产生多余的计算消耗资源,也不会影响静态缓存。
代码很简单(更新于2017-03-22,之前用的startsWith在IE下不兼容):
var cmt_hash=window.location.hash;
if(cmt_hash.slice(0,18)=="#comment-autofill&" && cmt_hash.length>18){
cmt_array=cmt_hash.split("&");
if(cmt_array[1]){设置名字为decodeURIComponent(cmt_array[1])的代码}
if(cmt_array[2]){设置邮箱为decodeURIComponent(cmt_array[2])的代码}
if(cmt_array[3]){设置站点为decodeURIComponent(cmt_array[3])的代码}
window.location.hash='#comments';
//此行可选,为空则自动填充以后删除url后面的#(无刷新),设为“#comments”则自动跳转至评论区
}
//然后在需要的url后面添加“#comment-autofill&名字&邮箱&站点”即可,站点可不加,注意内容进行编码转义
欢迎测试,并提供反馈。
奇怪,中午的评论没提交成功?
你可能换邮箱了,所以需要重新审核。
怎么样,试了吗?
终于试成功了,在你的基础上稍微优化了点。保留直接跳转到原来的评论位置,并实现自动填充内容
嗯,我担心删掉讨厌的评论后,评论分页变化,链接就可能不对了,所以是不保留原位置的。
那倒不至于,如果评论删除的话,就回复不了。删掉前后评论,是不会影响到当前这一条(跨页的情况没测试,同一页肯定没问题)
我说的就是删除前面一条,恰好导致后面那条页码改变的情况……
现在很少看邮箱了
一部分人用邮箱很多,一部分人几乎忘记邮箱……
是的,科技改变生活。微信用得多
自动填写信息很赞
更方便一点点……
功能很好,下次用在typecho上面
可以,用在哪儿都很简单。
突然发现你的博客居然有加我的友链,感动ing……,我的博客长期没更新是因为在改版中,五一前新版上线,网络的世界就是这样,有偷偷删你友链的人,也有“偷偷”加你友链的人。
哈哈,我们俩名字很像的。
博主的界面是什么主题,我把我的博客皮肤仿了一遍
自己从默认主题修改过来的,非要名字的话就是Qifu,随便你仿喽。
不知道怎么样才能像博主那样添加标题在左上角,没有自己的标识这点有点头痛
看来你已经解决了……这个还是很简单的。
其实,我好像一直没收到过你这儿的提醒邮件TAT
是么,等会儿我去sendcloud看一下投递数据……
好久没留言了,这回到是收到了!
很早之前确实一直收不到。
sendcloud有时候可能会漏发,而且,我这里之前确实有个bug,前段时间修复了,邮件到达率应该高一点了。
有机会试下。
值得一试~
第二个是个好想法,有时候在手机打开或者是换个浏览器打开,还要重新输入个人信息。
是的,深有感触,所以提出了这么个方法。
赞\(≧▽≦)/赞
一直在用邮件回复 不错