作者: mine27

  • 解决Error: Too many re-renders. React limits the number of renders to prevent an infinite loop.

    出现无限循环的原因是事件回调中触发了重新呈现,最常见setState触发的,这将再次调用事件回调,并导致React停止并抛出“太多的重新呈现”的错误

  • 谷歌字体国内加速cdn代理

    https://ajax.googleapis.com -> https://ajax.googleapis.cnpmjs.org
    https://fonts.googleapis.com -> https://fonts.googleapis.cnpmjs.org
    https://fonts.gstatic.com -> https://fonts.gstatic.cnpmjs.org
    https://themes.googleusercontent.com -> https://themes.googleusercontent.cnpmjs.org

    举个例子
    https://fonts.googleapis.com/css?family=Lato:400,700|Source+Code+Pro:400,500
    ->
    https://fonts.googleapis.cnpmjs.org/css?family=Lato:400,700|Source+Code+Pro:400,500

    http://fonts.googleapis.com/css?family=Roboto:400,700,300|Material+Icons
    ->
    http://fonts.googleapis.cnpmjs.org/css?family=Roboto:400,700,300|Material+Icons

  • centos7安装node和npm

    为了开发gutenberg编辑器block,得使用webpack打包js代码,webpack的运行环境是npm,所以网上搜了一篇帖子https://www.cnblogs.com/jizhong/p/12102100.html,截图如下:

    第2步的下载链接,我是直接从nodejs官方下载的linux x64最新版本

    第4步添加环境变量的路径需要改成自己解压的nodejs的路径

    export NODE_HOME=/root/node  
    export PATH=$NODE_HOME/bin:$PATH

    其他的就照做,安装成功。

  • 锚点平滑滚动

    这个css样式,一定要加,此乃重点

    html, body{scroll-behavior: smooth;}

    配合jquery的animate完美实现,代码如下

    jQuery('a[href*=#]').click(function() {
       if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
          var jQuerytarget = jQuery(this.hash);
          jQuerytarget = jQuerytarget.length && jQuerytarget || jQuery('["id=' + this.hash.slice(1) + '"]');
          if (jQuerytarget.length) {
             var targetOffset = jQuerytarget.offset().top;
             jQuery('html,body').animate({
                   scrollTop: targetOffset
                },1000);
          }
       }
    });
  • 支付宝当面付突然无法收到成功通知

    昨天有位客户在网站上通过支付宝充值,支付成功后,迟迟无法收到充值成功的提醒,联系我后,手动充上了,然后我就去查原因。

    查看网站nginx请求日志,发现并没有支付宝发来的通知请求,怎么回事呢,于是到支付宝开放平台,使用自助工具排查问题,得到的查询结果是

    商户响应: HTTP状态码:0, 返回值:null.   提示: IP/域名连接失败 

    不懂呀,咨询技术MM

    技术MM的意思是是Let’s Encrypt家的证书的问题,回想了一下,好像是最近续签了证书,仔细看了上图,看了一遍又一遍,太专业了,将就着假装自己懂了吧,那么这个中间证书在哪里找的呢?

    我的证书是通过bt面板申请的免费Let’s Encrypt证书,自动续签的那种,不知道中间证书在哪里,也不知道怎么部署。

    反正是证书的问题,要不换一个证书机构试试。

    于是申请了阿里云的免费SSL证书,很快签发下来了,替换掉原来的证书,再试一下支付。。。

    搞定!果然是证书问题。

    阿里云的免费SSL证书是digicert的dv证书,有效期1年,到期后需要重新申请并替换掉旧证书。

    支付宝当面付支付成功收不到成功通知的问题,就此解决。感谢阿里云客服MM的帮助。

  • wordpress插件 阿里云点播和腾讯云点播

    Mine CloudVod 云点播拥有连接阿里云视频点播、OSS和腾讯云点播、COS的强大功能,可以直接在wp后台上传视频到云端,不占用服务器空间和带宽,然后通过gutenberg区块将视频插入Post或者Page中,前台通过Aliplayer播放云点播视频,欢迎使用。

    插件拥有插入视频列表的区块,集成了Aliplayer的大部分实用功能,如:记忆播放、跑马灯、图片广告、视频广告、暂停广告、清晰度切换、多语言字幕、视频打点等,另外增加了Aliplayer官方暂未提供的功能,如:播放器Logo、空格暂停播放、点击视频暂停播放、粘性播放等。

    使用中有任何问题都可以联系作者。

  • post_name自动设置为文章id

    今天一位客户,固定链接设置的/%postname%.html,但是想要前台展示为  27.html 这样的数字链接,所以一直以来,是手动来修改固定链接的。。。

    随着文章越来越多,这样修改变得好麻烦 ,决定改成自动的,刚开始以为直接修改后台设置固定链接为/%post_id%.html就好了,但是发现文章错位了,还有的变成了404,于是查看相关的钩子,写出了如下解决问题的代码。

    在主题的functions.php文件或者插件的入口文件中加入如下代码:

    add_action(‘get_sample_permalink’, ‘set_post_name’, 10, 5);
    function set_post_name( $permalink, $post_ID, $title, $name, $post){
    if($post->post_name != $post_ID){
    $post->post_name = $post_ID;
    wp_update_post($post);
    $permalink[1] = $post_ID;
    }
    return $permalink;
    }

  • wordpress自动加p标签的函数wpautop

    想在有换行的字符串中加入p标签,可以使用函数wpautop,具体可参考https://developer.wordpress.org/reference/functions/wpautop/

  • PHPMailer在某些服务上发不了邮件

    下载的最新版PHPMailer

    同样的代码,在有的服务器上发送成功,有的服务器上返回结果为true,但实际并未发送,还没有真正解决问题,看到一遍博文,还没时间验证,原文地址 http://blog.ttionya.com/article-1844.html