用延遲加載解決CNZZ加載慢的問題


我是不太喜歡CNZZ的, 不過既然公司要用, 還是得加, 這個公司不知道為什么不好好優化一下, 這么多功能都做了, 難道不願意多費幾分鍾優化一下這個特別影響用戶體驗的統計代碼? 現在的移動站頁面, 是有載入提示浮層的, 要在頁面加載完畢后, 才會將浮層撤銷, 結果CNZZ動不動加載超時, 導致浮層經常蓋在那里好幾分鍾不動彈.

原來的代碼是

<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_125974259'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol + "s11.cnzz.com/z_stat.php%3Fid%3D125974259' type='text/javascript'%3E%3C/script%3E"));</script>

或者是

<script src="https://s11.cnzz.com/z_stat.php?id=125974259&web_id=125974259" language="JavaScript"></script>

前者會在載入中寫入一個span, 然后在下面加載一串js, 在span里寫一些內容, 這個也是很讓人討厭的一個地方, 因為它會在頁面上顯示出來, 非得自己做寫改動才能把它隱藏掉. 后者會載入一串js.

好了, 修改的結果是這樣的, 放到頁面最下方</body>標簽前面

  <script>
    $(function () {
      // 延遲CNZZ統計, 以免影響頁面載入
      var cz = document.createElement("script");
      cz.src = "//s11.cnzz.com/z_stat.php?id=125974259&web_id=125974259";
      document.getElementsByTagName('body')[0].appendChild(cz);
    });
  </script>

這樣會在頁面加載完畢后再執行, 不影響頁面其他元素正常顯示.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM