javascript – 为什么GitHub会将js附加到我的jekyll网站

前端之家收集整理的这篇文章主要介绍了javascript – 为什么GitHub会将js附加到我的jekyll网站前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到 GitHub附加了一个js,当他们有字符串/ cdn-cgi / l / email-protection时,它们似乎会删除指向电子邮件地址的链接.任何其他人都有这个奇怪的问题,或者这甚至真的来自GitHub?

这是这个脚本的美化版本:

(function() {
    try {
        var s,a,i,j,r,c,l = document.getElementsByTagName("a"),t = document.createElement("textarea");
        for (i = 0; l.length - i; i++) {
            try {
                a = l[i].getAttribute("href");
                if (a && a.indexOf("/cdn-cgi/l/email-protection") > -1 && (a.length > 28)) {
                    s = '';
                    j = 27 + 1 + a.indexOf("/cdn-cgi/l/email-protection");
                    if (a.length > j) {
                        r = parseInt(a.substr(j,2),16);
                        for (j += 2; a.length > j && a.substr(j,1) != 'X'; j += 2) {
                            c = parseInt(a.substr(j,16) ^ r;
                            s += String.fromCharCode(c);
                        }
                        j += 1;
                        s += a.substr(j,a.length - j);
                    }

                    t.innerHTML = s.replace(/</g,"&lt;").replace(/>/g,"&gt;");
                    l[i].setAttribute("href","mailto:" + t.value);
                }
            } catch (e) {}
        }
    } catch (e) {}
})();

当我有一个类似< a href =“mailto:/cdn-cgi/l/email-protection/email@foo.com”的链接>联系< / a>它变为< a href =“mailto:”>联系< / a>.否则,它什么都不做.尽管如此,这让我感到困扰,因为我没有把那个剧本放在那里,而且我似乎没有得到关于GH附加脚本的任何警告.

解决方法

我刚收到GitHub支持回复,结果发现,当打开电子邮件地址混淆功能时,CloudFlare会添加神秘的脚本.

相关设置位于https://www.cloudflare.com/a/content-protection/\u0026lt;\u0026lt;domain.name\u0026gt;\u0026gt;在ScrapeShield下,如果有人有类似的麻烦.

猜你在找的JavaScript相关文章