Googlebot вызывает JavaScript ошибок - PullRequest
0 голосов
/ 08 апреля 2020

Просматривая наши журналы, мы всегда видим неопределенные JavaScript ошибки, вызванные Googlebot.

Uncaught ReferenceError: myFunction is not defined

Это строка агента пользователя для всех этих ошибок.

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.92 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

В нашем коде у нас есть функция, определенная в отдельном файле, а затем ссылка на нее в наших шаблонах представления.

<script type="text/javascript" src="https://example.com/js/my-script.js?v=1.4"></script>

<script>
    $('document').ready(function(){
        if (typeof myFunction != 'undefined') {
            myFunction.init();
        }
    });
</script>

Файл JS содержит IIFE, присвоенный переменной, который выглядит следующим образом:

var myFunction = (function () {
    var init = function () {
        // do stuff
    };

    return { init: init };
})();

Это прекрасно работает для всех устройств, кроме googlebot. Почему googlebot создает эти ошибки, когда myFunction обернут в проверку неопределенности?

...