由于两个第三方JS根据PageSpeed呈现了阻塞资源,因此我很难获得良好的PageSpeed分数。我使用的两个服务是对讲机和Albacross。
我试图删除它们,以查看它可以做多少改进,当我删除它时,在手机上得分将近30分!
顺便说一下,网站是在Wordpress中构建的。
有人知道如何在不影响PageSpeed的情况下加载这些JS吗?我已经尝试过了,但是它对PageSpeed没什么影响。
我还发现此网站https://peakon.com不会加载对讲机和其他第三方JS,直到之后,您在首次访问其网页时就接受了他们的Cookie政策。觉得很聪明。
有什么想法,他们怎么做或我应该做什么?
谢谢!
答案 0 :(得分:1)
好吧,如果需要的话,您可以等到页面加载完毕后再加载外部源,如下所示:
document.body.onload = function(){
firstExternalScript = document.createElement("script");
firstExternalScript.src = "www.linkToIntercom.com";//that would be your script to Intercom or Albacross
secondExternalScript = document.createElement("script");
secondExternalScript.src = "www.linkToAlbacross.com";//that would be your script to Intercom or Albacross
document.body.appendChild(firstExternalScript);
document.body.appendChild(secondExternalScript);
}
或者,您可以将其变成一个单独的函数,并在用户接受cookie策略时运行它,如您所提到的示例:
HTML
<button class="cookieAcceptBtn" onclick="acceptCookiePolicy();">Accept</button>
JAVASCRIPT
function acceptCookiePolicy(){
firstExternalScript = document.createElement("script");
firstExternalScript.src = "www.linkToIntercom.com";//that would be your script to Intercom or Albacross
secondExternalScript = document.createElement("script");
secondExternalScript.src = "www.linkToAlbacross.com";//that would be your script to Intercom or Albacross
document.body.appendChild(firstExternalScript);
document.body.appendChild(secondExternalScript);
}
我希望这能回答您的问题。